亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種電視機(jī)界面的控制方法、裝置和電視機(jī)的制作方法

文檔序號(hào):6599570閱讀:228來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種電視機(jī)界面的控制方法、裝置和電視機(jī)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及電視機(jī)技術(shù)領(lǐng)域,尤其涉及一種電視機(jī)界面的控制方法、裝置和電視機(jī)。
背景技術(shù)
在電視系統(tǒng)中,通常都會(huì)內(nèi)置菜單顯示功能,利用該功能在電視屏幕上通過(guò)多行 多列將相應(yīng)的信息展示給用戶(hù),方便用戶(hù)操作,例如,在屏幕上通過(guò)多行多列顯示各個(gè)電影 海報(bào),用戶(hù)通過(guò)上下左右按鍵進(jìn)行控制,以選取相應(yīng)的電影。 然而,在實(shí)現(xiàn)本發(fā)明的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題 現(xiàn)有技術(shù)在實(shí)現(xiàn)菜單顯示時(shí),所采用的行數(shù)和列數(shù)都是預(yù)定的,例如,若預(yù)定為2
行X4列或3行X3列時(shí),則在這種顯示模式下,用戶(hù)只能對(duì)2行X4列或3行X3列的方
式進(jìn)行控制,無(wú)法對(duì)其它顯示模式進(jìn)行控制,且當(dāng)系統(tǒng)中存在不同的顯示模式時(shí),廠商需要
重新編寫(xiě)代碼,以實(shí)現(xiàn)對(duì)該顯示模式的控制?,F(xiàn)有技術(shù)提供的控制菜單顯示的方案,操作
繁瑣且重復(fù)勞動(dòng),降低了系統(tǒng)資源的利用率,當(dāng)所需顯示的信息較多,或用戶(hù)有特定的需求
時(shí),無(wú)法滿(mǎn)足用戶(hù)的需要。

發(fā)明內(nèi)容
為解決現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明的實(shí)施例提供一種電視機(jī)界面的控制方 法、裝置和電視機(jī)。 為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案
—種電視機(jī)界面的控制方法,所述方法包括
根據(jù)輸入的控制參數(shù)確定當(dāng)前的顯示模式; 在所述顯示模式下,利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行上移動(dòng)、下移動(dòng)、左移動(dòng)或右 移動(dòng)中的一種操作。 進(jìn)一步的,所述控制參數(shù)包括一頁(yè)上每行顯示的項(xiàng)目數(shù)row皿m與每列顯示的項(xiàng) 目數(shù)line皿m、所顯示的總項(xiàng)目數(shù)total皿m以及當(dāng)前焦點(diǎn)的頁(yè)索引值startID和位置索引
值f0CUsID ;其中,startID指示當(dāng)前焦點(diǎn)所在的頁(yè),startID = nXshownum, shownum為rownum 與line皿m的乘積,n = 0、1、2…;focusID指示當(dāng)前焦點(diǎn)在當(dāng)前頁(yè)所有項(xiàng)目中的位置。
進(jìn)一步的,在所述顯示模式下,利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行上移動(dòng)包括
當(dāng)row皿m、 line皿m與total皿m中的任一項(xiàng)都不為0時(shí),確認(rèn)能夠進(jìn)行上移動(dòng);
利用startID確認(rèn)當(dāng)前焦點(diǎn)是否在第一頁(yè)以及利用focusID和row皿m確認(rèn)當(dāng)前 焦點(diǎn)是否在第一行, 當(dāng)當(dāng)前焦點(diǎn)不在第一頁(yè)時(shí),若當(dāng)前焦點(diǎn)位于第一行,將焦點(diǎn)移動(dòng)到上一頁(yè)最后一
行的相應(yīng)位置,若當(dāng)前焦點(diǎn)不位于第一行,將焦點(diǎn)移動(dòng)至上一行的相應(yīng)位置; 當(dāng)當(dāng)前焦點(diǎn)在第一頁(yè)時(shí),若當(dāng)前焦點(diǎn)不位于第一行,將焦點(diǎn)移動(dòng)至上一行的相應(yīng)位置;若當(dāng)前焦點(diǎn)位于第一行,至少包括如下操作 根據(jù)total皿m和row皿m確認(rèn)若所顯示的總項(xiàng)目不超過(guò)一行,則不移動(dòng)焦點(diǎn);
或者, 根據(jù)totaln咖、rown咖和shown咖確認(rèn)所顯示的項(xiàng)目大于一行但不超過(guò)一頁(yè)時(shí), 包括若當(dāng)前頁(yè)最后一行存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到當(dāng)前頁(yè)最后一行的相應(yīng)位 置;若當(dāng)前頁(yè)最后一行不存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到當(dāng)前頁(yè)最后一行的最后一 項(xiàng); 或者,根據(jù)total皿m和show皿m確認(rèn)所顯示的項(xiàng)目全部為滿(mǎn)頁(yè)顯示,將焦點(diǎn)移動(dòng) 到最后一頁(yè)最后一行的相應(yīng)位置; 或者,根據(jù)totalnum和shownum確認(rèn)至少顯示了兩頁(yè)時(shí),若最后一頁(yè)最后一行存
在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行的相應(yīng)位置,若最后一頁(yè)最后一行
不存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行的最后一項(xiàng); 其中,所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行。 進(jìn)一步的,在所述顯示模式下,利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行下移動(dòng)包括 當(dāng)row皿m、 line皿m與total皿m中的任一項(xiàng)都不為0時(shí),確認(rèn)能夠進(jìn)行下移動(dòng); 利用focusID和row皿m的和獲得下移動(dòng)后新焦點(diǎn)的位置索引值; 其中,當(dāng)新焦點(diǎn)的位置索引值小于等于show皿m時(shí),確認(rèn)下移動(dòng)后的新焦點(diǎn)仍在
當(dāng)前頁(yè)上時(shí),則執(zhí)行下述處理 當(dāng)total皿m小于等于shown咖,確認(rèn)總顯示項(xiàng)目不滿(mǎn)一頁(yè),則存在下面幾種處理 情況 若所顯示的總項(xiàng)目不超過(guò)一行時(shí),則不移動(dòng)焦點(diǎn); 或者,若所顯示的總項(xiàng)目至少為兩行時(shí),若新焦點(diǎn)的位置超過(guò)最后一行最后一項(xiàng) 所顯示的項(xiàng)目,則將焦點(diǎn)移至最后一行的最后一項(xiàng)上; 或者,當(dāng)前行為最后一行時(shí),將焦點(diǎn)移動(dòng)至當(dāng)前頁(yè)第一行的相應(yīng)位置; 當(dāng)total皿m大于show皿m,確認(rèn)總顯示的項(xiàng)目數(shù)目大于一頁(yè),則存在下面幾種處
理情況 若焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的位置超出了當(dāng)前所顯示的最后一行最后一項(xiàng),
且焦點(diǎn)在所顯示的最后一行上,則將焦點(diǎn)移動(dòng)到第一頁(yè)第一行相應(yīng)位置上, 或者,若焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的位置超出了當(dāng)前所顯示的最后一行最后
一項(xiàng),且焦點(diǎn)不在所顯示的最后一行上,則將焦點(diǎn)移動(dòng)到所顯示的最后一行最后一項(xiàng); 或者,若焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的位置在當(dāng)前顯示的最后一行最后一項(xiàng)上,
則將焦點(diǎn)移動(dòng)到最后一行最后一項(xiàng); 當(dāng)新焦點(diǎn)的位置索引值大于show皿m時(shí),確認(rèn)下移動(dòng)后的新焦點(diǎn)不在當(dāng)前頁(yè)上 時(shí),則執(zhí)行下述處理 若總顯示數(shù)目不滿(mǎn)一頁(yè),則新焦點(diǎn)移動(dòng)到當(dāng)頁(yè)第一行的相應(yīng)位置,或者, 若總顯示數(shù)目超過(guò)一頁(yè),且下一頁(yè)顯示超過(guò)一行,則新焦點(diǎn)移動(dòng)到下一頁(yè)第一行
的相應(yīng)位置,或者, 若總顯示數(shù)目超過(guò)一頁(yè),且下一頁(yè)顯示不超過(guò)一行,則新焦點(diǎn)移動(dòng)到下一頁(yè)第一 行的最后一項(xiàng);
7
其中,所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行。 進(jìn)一步的,在所述顯示模式下,利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行左移動(dòng)包括 當(dāng)row皿m、 linenum與totalnum中的任一項(xiàng)都不為0時(shí),確認(rèn)能夠進(jìn)行左移動(dòng); 當(dāng)focusID大于0時(shí),利用focusID和1的差值得到左移動(dòng)后新焦點(diǎn)的位置索引
值,將焦點(diǎn)移動(dòng)至所述新焦點(diǎn)的位置索引值所指示的位置; 當(dāng)focusID小于等于0時(shí),包括如下幾種處理情況 當(dāng)startID為0時(shí),確認(rèn)焦點(diǎn)在第一頁(yè)上,則將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行最右 側(cè)的位置上或?qū)⒔裹c(diǎn)移動(dòng)至當(dāng)前頁(yè)最后一行最右側(cè)的位置上; 當(dāng)startID不為0時(shí),確認(rèn)焦點(diǎn)不在第一頁(yè)上,則將焦點(diǎn)移動(dòng)到上一頁(yè)的最后一行 最右側(cè)位置; 其中,所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行。
進(jìn)一步的,在所述顯示模式下,利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行右移動(dòng)包括
當(dāng)row皿m、 linenum與totalnum中的任一項(xiàng)都不為0時(shí),確認(rèn)能夠進(jìn)行右移動(dòng);
通過(guò)focusID加l,得到新焦點(diǎn)位置索引值; 若新焦點(diǎn)位置索引值與startID的和大于等于total皿m,將focusID設(shè)置為0以 及將startID設(shè)置0,以將焦點(diǎn)移動(dòng)到第一頁(yè)第一行最左側(cè)的位置; 若新焦點(diǎn)位置索引值與startID的和小于total皿m,但新焦點(diǎn)位置索引值大于等 于show皿m,將focusID設(shè)置為0以及將startID設(shè)置為startID與shownum的和,以將焦 點(diǎn)移動(dòng)到下一頁(yè)第一行最左側(cè)的位置上,否則,將焦點(diǎn)移動(dòng)至所述新焦點(diǎn)位置索引值指示 的位置,以將焦點(diǎn)移動(dòng)至該焦點(diǎn)右側(cè)的下一位置或下一行最左側(cè)的位置。
—種電視機(jī)界面的控制裝置,所述裝置包括 顯示模式確定單元,用于根據(jù)輸入的控制參數(shù)確定當(dāng)前的顯示模式; 操作控制單元,用戶(hù)在所述顯示模式下,利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行上移動(dòng)、
下移動(dòng)、左移動(dòng)或右移動(dòng)中的一種操作。 進(jìn)一步的,所述控制參數(shù)包括一頁(yè)上每行顯示的項(xiàng)目數(shù)row皿m與每列顯示的項(xiàng) 目數(shù)line皿m、所顯示的總項(xiàng)目數(shù)totalnum以及當(dāng)前焦點(diǎn)的頁(yè)索引值startID和位置索引
值focusID ; 其中,startID指示當(dāng)前焦點(diǎn)所在的頁(yè),startID = nX show皿m, shownum為row皿m 與line皿m的乘積,n = 0、1、2…;focusID指示當(dāng)前焦點(diǎn)在當(dāng)前頁(yè)所有項(xiàng)目中的位置。
進(jìn)一步的,所述操作控制單元包括上移動(dòng)模塊,下移動(dòng)模塊,左移動(dòng)模塊和右移動(dòng) 模塊, 其中,所述上移動(dòng)模塊,用于當(dāng)row皿m、linenum與totalnum中的任一項(xiàng)都不為0 時(shí),確認(rèn)能夠進(jìn)行上移動(dòng);利用startID確認(rèn)當(dāng)前焦點(diǎn)是否在第一頁(yè)以及利用focusID和 row皿m確認(rèn)當(dāng)前焦點(diǎn)是否在第一行,當(dāng)當(dāng)前焦點(diǎn)不在第一頁(yè)時(shí),若當(dāng)前焦點(diǎn)位于第一行,將 焦點(diǎn)移動(dòng)到上一頁(yè)最后一行的相應(yīng)位置,若當(dāng)前焦點(diǎn)不位于第一行,將焦點(diǎn)移動(dòng)至上一行 的相應(yīng)位置; 當(dāng)當(dāng)前焦點(diǎn)在第一頁(yè)時(shí),若當(dāng)前焦點(diǎn)不位于第一行,將焦點(diǎn)移動(dòng)至上一行的相應(yīng) 位置;若當(dāng)前焦點(diǎn)位于第一行,至少包括如下操作 根據(jù)totalnum和row皿m確認(rèn)若所顯示的總項(xiàng)目不超過(guò)一行,則不移動(dòng)焦點(diǎn);或者,根據(jù)total皿m、 rownum和shownum確認(rèn)所顯示的項(xiàng)目大于一行但不超過(guò)一頁(yè)時(shí),包括 若當(dāng)前頁(yè)最后一行存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到當(dāng)前頁(yè)最后一行的相應(yīng)位置;若 當(dāng)前頁(yè)最后一行不存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到當(dāng)前頁(yè)最后一行的最后一項(xiàng);或 者,根據(jù)total皿m和shownum確認(rèn)所顯示的項(xiàng)目全部為滿(mǎn)頁(yè)顯示,將焦點(diǎn)移動(dòng)到最后一頁(yè) 最后一行的相應(yīng)位置;或者,根據(jù)totalnum和shownum確認(rèn)至少顯示了兩頁(yè)時(shí),若最后一頁(yè) 最后一行存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行的相應(yīng)位置,若最后一 頁(yè)最后一行不存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行的最后一項(xiàng);
其中,所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行。
所述下移動(dòng)模i央,用于當(dāng)row皿m、line皿m與totaln咖中的任一項(xiàng)都不為0時(shí),確 認(rèn)能夠進(jìn)行下移動(dòng);利用focusID和row皿m的和獲得下移動(dòng)后新焦點(diǎn)的位置索引值;
其中,當(dāng)新焦點(diǎn)的位置索引值小于等于shownum時(shí),確認(rèn)下移動(dòng)后的新焦點(diǎn)仍在 當(dāng)前頁(yè)上時(shí),則執(zhí)行下述處理當(dāng)total皿m小于等于show皿m,確認(rèn)總顯示項(xiàng)目不滿(mǎn)一頁(yè), 則存在下面幾種處理情況若所顯示的總項(xiàng)目不超過(guò)一行時(shí),則不移動(dòng)焦點(diǎn);或者,若所顯 示的總項(xiàng)目至少為兩行時(shí),若新焦點(diǎn)的位置超過(guò)最后一行最后一項(xiàng)所顯示的項(xiàng)目,則將焦 點(diǎn)移至最后一行的最后一項(xiàng)上;或者,當(dāng)前行為最后一行時(shí),將焦點(diǎn)移動(dòng)至當(dāng)前頁(yè)第一行的 相應(yīng)位置;當(dāng)total皿m大于show皿m,確認(rèn)總顯示的項(xiàng)目數(shù)目大于一頁(yè),則存在下面幾種處 理情況若焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的位置超出了當(dāng)前所顯示的最后一行最后一項(xiàng),且 焦點(diǎn)在所顯示的最后一行上,則將焦點(diǎn)移動(dòng)到第一頁(yè)第一行相應(yīng)位置上,或者,若焦點(diǎn)在最 后一頁(yè)上,且新焦點(diǎn)的位置超出了當(dāng)前所顯示的最后一行最后一項(xiàng),且焦點(diǎn)不在所顯示的 最后一行上,則將焦點(diǎn)移動(dòng)到所顯示的最后一行最后一項(xiàng);或者,若焦點(diǎn)在最后一頁(yè)上,且 新焦點(diǎn)的位置在當(dāng)前顯示的最后一行最后一項(xiàng)上,則將焦點(diǎn)移動(dòng)到最后一行最后一項(xiàng);
當(dāng)新焦點(diǎn)的位置索引值大于shownum時(shí),確認(rèn)下移動(dòng)后的新焦點(diǎn)不在當(dāng)前頁(yè)上 時(shí),則執(zhí)行下述處理 若總顯示數(shù)目不滿(mǎn)一頁(yè),則新焦點(diǎn)移動(dòng)到當(dāng)頁(yè)第一行的相應(yīng)位置,或者,若總顯示 數(shù)目超過(guò)一頁(yè),且下一頁(yè)顯示超過(guò)一行,則新焦點(diǎn)移動(dòng)到下一頁(yè)第一行的相應(yīng)位置,或者, 若總顯示數(shù)目超過(guò)一頁(yè),且下一頁(yè)顯示不超過(guò)一行,則新焦點(diǎn)移動(dòng)到下一頁(yè)第一行的最后 一項(xiàng); 其中,所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行。
所述左移動(dòng)模塊,用于當(dāng)row皿m、 line皿m與total皿m中的任一項(xiàng)都不為0時(shí), 確認(rèn)能夠進(jìn)行左移動(dòng);當(dāng)focusID大于0時(shí),利用focusID和1的差值得到左移動(dòng)后新焦 點(diǎn)的位置索引值,將焦點(diǎn)移動(dòng)至所述新焦點(diǎn)的位置索引值所指示的位置;當(dāng)focusID小于 等于0時(shí),包括如下幾種處理情況當(dāng)startID為0時(shí),確認(rèn)焦點(diǎn)在第一頁(yè)上,則將焦點(diǎn)移 動(dòng)到最后一頁(yè)最后一行最右側(cè)的位置上或?qū)⒔裹c(diǎn)移動(dòng)至當(dāng)前頁(yè)最后一行最右側(cè)的位置上; 當(dāng)startID不為0時(shí),確認(rèn)焦點(diǎn)不在第一頁(yè)上,則將焦點(diǎn)移動(dòng)到上一頁(yè)的最后一行最右側(cè)位 置;其中,所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行。 所述右移動(dòng)模塊,用于當(dāng)row皿m、 line皿m與total皿m中的任一項(xiàng)都不為0時(shí), 確認(rèn)能夠進(jìn)行右移動(dòng);通過(guò)focusID加l,得到新焦點(diǎn)位置索引值;若新焦點(diǎn)位置索引值與 startID的和大于等于total皿m,將focusID設(shè)置為0以及將startID設(shè)置0,以將焦點(diǎn)移 動(dòng)到第一頁(yè)第一行最左側(cè)的位置;若新焦點(diǎn)位置索引值與startID的和小于total皿m,但
9新焦點(diǎn)位置索引值大于等于show皿m,將focusID設(shè)置為O以及將startID設(shè)置為startID 與show皿m的和,以將焦點(diǎn)移動(dòng)到下一頁(yè)第一行最左側(cè)的位置上,否則,將焦點(diǎn)移動(dòng)至所述 新焦點(diǎn)位置索引值指示的位置,以將焦點(diǎn)移動(dòng)至該焦點(diǎn)右側(cè)的下一位置或下一行最左側(cè)的 位置。 —種電視機(jī),該電視機(jī)包括上述的電視機(jī)界面的控制裝置。 本發(fā)明實(shí)施例提供的技術(shù)方案,通過(guò)控制參數(shù)能夠靈活地調(diào)整電視機(jī)界面的顯示 模式,并且在該顯示模式下,利用控制參數(shù)實(shí)現(xiàn)焦點(diǎn)上下左右的移動(dòng),以對(duì)電視機(jī)界面進(jìn)行 控制。本發(fā)明實(shí)施例的技術(shù)方案通過(guò)控制參數(shù)能夠?qū)Σ煌@示模式進(jìn)行控制,解決了現(xiàn)有 電視機(jī)顯示模式固定且對(duì)每種顯示模式需要編寫(xiě)一套代碼所帶來(lái)的問(wèn)題,提高了廠商的工 作效率和系統(tǒng)資源的利用率,改善了界面的顯示效果,增強(qiáng)了用戶(hù)體驗(yàn)。


為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例一提供的電視機(jī)界面的控制方法流程圖;
圖2為本發(fā)明實(shí)施例二提供的利用控制參數(shù)進(jìn)行上移動(dòng)的原理示意圖
圖3為本發(fā)明實(shí)施例二提供的利用控制參數(shù)進(jìn)行下移動(dòng)的原理示意圖
圖4為本發(fā)明實(shí)施例二提供的利用控制參數(shù)進(jìn)行左移動(dòng)的原理示意圖
圖5為本發(fā)明實(shí)施例二提供的利用控制參數(shù)進(jìn)行右移動(dòng)的原理示意圖,
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。 本發(fā)明實(shí)施例一提供了一種電視機(jī)界面的控制方法,參見(jiàn)圖l,包括如下步驟
步驟11 :根據(jù)輸入的控制參數(shù)確定當(dāng)前的顯示模式; 步驟12 :在所述顯示模式下,利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行上移動(dòng)、下移動(dòng)、左 移動(dòng)或右移動(dòng)中的一種操作。 其中,上述的控制參數(shù)包括但不局限于一頁(yè)上每行顯示的項(xiàng)目數(shù)(row皿m)與 每列顯示的項(xiàng)目數(shù)(line皿m)、所顯示的總項(xiàng)目數(shù)(total皿m)以及當(dāng)前焦點(diǎn)的頁(yè)索引值 (startID)和位置索引值(focusID); 其中,startID指示當(dāng)前焦點(diǎn)所在的頁(yè),startID = nX show皿m, show皿m為row皿m 與linenum的乘積,n取自然數(shù),n = 0、1、2…;focusID指示當(dāng)前焦點(diǎn)在當(dāng)前頁(yè)所有項(xiàng)目中 的位置。 本發(fā)明實(shí)施例提供的技術(shù)方案,通過(guò)控制參數(shù)能夠靈活地調(diào)整電視機(jī)界面的顯示 模式,并且在該顯示模式下,利用控制參數(shù)實(shí)現(xiàn)焦點(diǎn)上下左右的移動(dòng),以對(duì)電視機(jī)界面進(jìn)行控制。本發(fā)明實(shí)施例的技術(shù)方案通過(guò)控制參數(shù)能夠?qū)Σ煌@示模式進(jìn)行控制,解決了現(xiàn)有 電視機(jī)顯示模式固定且對(duì)每種顯示模式需要編寫(xiě)一套代碼所帶來(lái)的問(wèn)題,提高了廠商的工 作效率和系統(tǒng)資源的利用率,改善了界面的顯示效果,增強(qiáng)了用戶(hù)體驗(yàn)。 下面對(duì)本發(fā)明實(shí)施例二提供的一種電視機(jī)界面的控制方法進(jìn)行描述。
步驟Tl :根據(jù)輸入的控制參數(shù)確定當(dāng)前的顯示模式。 上述控制參數(shù)包括但不局限于row皿m、 line皿m、 total皿m以及start ID禾口 focusID等;其中,startID指示當(dāng)前焦點(diǎn)所在的頁(yè),startID = nXshow皿m, show皿m為 row誦與line皿m的乘積,n取自然數(shù),即n = 0,1,2,3,…;focusID指示當(dāng)前焦點(diǎn)在當(dāng)前 頁(yè)所有項(xiàng)目中的位置。 例如,當(dāng)rownum為2, linenum為4時(shí),表示當(dāng)前的顯示模式為每頁(yè)每行顯示2個(gè) 項(xiàng)目,每頁(yè)每列顯示4個(gè)項(xiàng)目;當(dāng)rownum為3, linenum為3時(shí),表示當(dāng)前的顯示模式為每頁(yè) 每行顯示3個(gè)項(xiàng)目,每頁(yè)每列顯示3個(gè)項(xiàng)目。 步驟T2 :在所述顯示模式下,利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行上移動(dòng)、下移動(dòng)、左 移動(dòng)或右移動(dòng)中的一種操作,下面分別對(duì)這四種操作進(jìn)行描述。 可以根據(jù)接收到的來(lái)自用戶(hù)的命令,選擇對(duì)焦點(diǎn)所進(jìn)行的操作,例如,用戶(hù)可以通 過(guò)遙控器中的上下左右按鍵發(fā)送命令,當(dāng)接收到用戶(hù)通過(guò)上按鍵發(fā)送的命令時(shí),對(duì)焦點(diǎn)進(jìn) 行上移動(dòng)操作。
步驟T21 :利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行上移動(dòng)操作,具體包括如下處理
利用所述控制參數(shù)主要進(jìn)行如下操作
確認(rèn)能夠進(jìn)行上移動(dòng); 當(dāng)前頁(yè)不為第一頁(yè)時(shí),若當(dāng)前行為第一行,將焦點(diǎn)移動(dòng)至上一頁(yè)最后一行的相應(yīng) 位置;若當(dāng)前行不為第一行,將焦點(diǎn)移動(dòng)至上一行的相應(yīng)位置; 當(dāng)前頁(yè)為第一頁(yè)時(shí),若當(dāng)前行不為第一行,將焦點(diǎn)移動(dòng)至上一行的相同位置;若當(dāng) 前行為第一行,至少包括如下操作 所顯示的總項(xiàng)目不滿(mǎn)一行,則不移動(dòng)焦點(diǎn);或者, 當(dāng)顯示的項(xiàng)目大于一行小于一頁(yè),若當(dāng)前頁(yè)最后一行存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將 焦點(diǎn)移動(dòng)到當(dāng)前頁(yè)最后一行的相同位置,若當(dāng)前頁(yè)最后一行不存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將 焦點(diǎn)移動(dòng)到當(dāng)前頁(yè)最后一行的最后一項(xiàng);或者, 當(dāng)至少顯示兩頁(yè)時(shí),若最后一頁(yè)最后一行存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到 最后一頁(yè)最后一行的相同位置,若最后一頁(yè)最后一行不存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移 動(dòng)到最后一頁(yè)最后一行的最后一項(xiàng)。 下面對(duì)本發(fā)明實(shí)施例提供的一種利用控制參數(shù)進(jìn)行上操作的具體方法進(jìn)行描述, 參見(jiàn)圖2。 首先進(jìn)行初始化過(guò)程,在初始化過(guò)程中,對(duì)各種控制參數(shù)如row皿m、 linenum、 totalnum、 startID以及其他必要參數(shù)等進(jìn)行初始化,其中將控制參數(shù)初始化為當(dāng)前 輸入的控制參數(shù);并計(jì)算屏幕上一頁(yè)顯示的項(xiàng)目的最大值show皿m等,show皿m = roWnum*line皿m。再次,根據(jù)控制參數(shù)判斷當(dāng)前能否進(jìn)行焦點(diǎn)的上移動(dòng)操作,只有當(dāng) row皿m、 line皿m和total皿m中的任一項(xiàng)都不為0時(shí),才確認(rèn)能夠進(jìn)行上移動(dòng)操作。
步驟1 :利用startID判斷當(dāng)前焦點(diǎn)是否在第一頁(yè);
若當(dāng)前焦點(diǎn)在第一頁(yè),如startID為0時(shí),進(jìn)入步驟3 ;若當(dāng)前焦點(diǎn)不在第一頁(yè),如 startID不為0時(shí),進(jìn)入步驟2。 步驟2 :當(dāng)前焦點(diǎn)不在第一頁(yè)時(shí),利用focusID和row皿m確認(rèn)判斷該焦點(diǎn)是否在 第一行; 步驟21 :若當(dāng)前焦點(diǎn)位于第一行,即focusID小于等于row皿m,將焦點(diǎn)移動(dòng)到上一
頁(yè)最后一行的相應(yīng)位置,startID和focusID都變化,例如,將startID設(shè)置為startID減
去show皿m,將focusID設(shè)置為focusID力口上row皿mX (line皿m-1)的值。 在本發(fā)明實(shí)施例中,最后一行指該行所屬的頁(yè)中具有顯示項(xiàng)目的最后一行,相同
描述適用于下文的相同內(nèi)容,不再贅述。 步驟22 :若當(dāng)前焦點(diǎn)不位于第一行,即focusID大于row皿m,將焦點(diǎn)移動(dòng)至上一行 的相應(yīng)位置;例如,將focusID設(shè)置為focusID減去row皿m, startID不變。
步驟3 :當(dāng)前焦點(diǎn)在第一頁(yè)時(shí),利用focusID和row皿m確認(rèn)判斷該焦點(diǎn)是否在第 一行,即當(dāng)focusID小于等于rownum時(shí),焦點(diǎn)在第一行,當(dāng)focusID大于rownum時(shí),焦點(diǎn)不 在第一行; 步驟30 :當(dāng)前焦點(diǎn)不位于第一行,將焦點(diǎn)移動(dòng)至上一行的相同位置,將focusID設(shè) 置為focusID減去rown咖,startID不變;若當(dāng)前焦點(diǎn)在第一頁(yè)且當(dāng)前焦點(diǎn)位于第一行,至 少包括如下操作 步驟31 :根據(jù)total皿m和rownum確認(rèn)所顯示的總項(xiàng)目不超過(guò)一行,即total皿m 小于等于rownum時(shí),則不移動(dòng)焦點(diǎn);
或者, 步驟32 :根據(jù)total皿m、rownum和show皿m確認(rèn)所顯示的項(xiàng)目大于一行但不超過(guò)
一頁(yè),即當(dāng)total皿m大于rownum且小于等于show皿m時(shí),包括如下處理 步驟321 :若當(dāng)前頁(yè)最后一行存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),startID不變,將focusID
加上[totalnum/rownum] Xrownum的值,以將焦點(diǎn)移動(dòng)到當(dāng)前頁(yè)最后一行的相應(yīng)位置,步
驟322 :若當(dāng)前頁(yè)最后一行不存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),startID不變,將focusID設(shè)置為
total皿m與1的差值,以將焦點(diǎn)移動(dòng)到當(dāng)前頁(yè)最后一行的最后一項(xiàng);或者, 步驟33 :根據(jù)total皿m禾P show皿m確認(rèn)至少顯示了兩頁(yè)時(shí),即當(dāng)total皿m大于
shown咖時(shí),確認(rèn)至少顯示了兩頁(yè)。當(dāng)最后一頁(yè)是滿(mǎn)頁(yè)時(shí),即Totalnum% shown咖O,所顯
示的項(xiàng)目全部為滿(mǎn)頁(yè)顯示時(shí),將focusID加上[line皿m-l] Xrownum的值并將startID設(shè)
置為total皿m減去show皿m,以將焦點(diǎn)移動(dòng)至最后一頁(yè)最后一行的相應(yīng)位置。 步驟34 :當(dāng)至少顯示兩頁(yè),而最后一頁(yè)不是滿(mǎn)頁(yè)時(shí),若最后一頁(yè)中最后一行有
當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),如當(dāng)最后一頁(yè)不是滿(mǎn)頁(yè)但卻每行都顯示滿(mǎn)行時(shí),將focusID加上減1與rownum的乘禾只以及將start ID設(shè)置為total皿m與
totalnum% shownum的差值,以將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行的相應(yīng)位置;若最后一頁(yè)
最后一行不存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將focusID設(shè)置為totalnum% show皿m與1的差值以
及將startID設(shè)置為total皿m與totalnum% show皿m的差值,以將焦點(diǎn)移動(dòng)到最后一頁(yè)最
后一行的最后一項(xiàng)。 其中,函數(shù)[]表示取整。 本發(fā)明實(shí)施例可以采用如下函數(shù)
12
void _MApp_ActionUp(U32 row誦,U32 line誦,U32 total誦,U32*pfocusID,
U32 *pStartID)實(shí)現(xiàn)上述上操作, 0117] 其中,*pfocusIdx為focusID的指針,*pStartIdx為startID的指針。 0118] 示例性的,本發(fā)明實(shí)施例提供了一種上述函數(shù)的具體實(shí)現(xiàn)方式,參見(jiàn)如下代碼 0119] static void _MApp_ActionUp (U32 row皿m, U32 line皿m, U32 total皿m,
0120] U32氺pfocusID,U32氺pStartID) 0121] {
0122] U32 prefocusID = 0 ;〃初始化上次焦點(diǎn)位置索引值
0123] U32 shownum = rownum *linenum ;〃計(jì)算屏幕能顯示的最大數(shù)目
0124] if (shownum < = 0 || totalnum < = 0)
0125] {
0126] DBG_INF0(〃 shownum or totalnum number error, shownum:% d
0127] totalnum: % d\n〃 , show皿m, totalnum);
0128] 〃對(duì)傳入的參數(shù)進(jìn)行判斷,數(shù)據(jù)保護(hù)操作
0129] }
0130] else
0131] {
0132] prefocusID = *pfocusID ;〃將當(dāng)前焦點(diǎn)位置索引值賦值給
prefocusID,作 0133] 為備用保存
0134] if ((*pStartID) = = 0)〃當(dāng)前焦點(diǎn)在第一頁(yè)內(nèi)
0135] {
0136] if (prefocusID >= row誦)〃 如果焦點(diǎn)不在第一行
0137] {
0138] OpfocusID) = prefocusID-row皿m ;〃操作后焦點(diǎn)索弓l值
等于原
0139] 先索引值減去行顯示數(shù)目
0140] }
0141] else〃焦點(diǎn)在第一行
0142] {
0143] if (totalnum <= rownum) 〃如果總顯示數(shù)目小等于行顯示
數(shù)目,即 0144] 顯示不滿(mǎn)1行 0145] { 0146] 0147] 0148] 0149] 0150]
(氺pfocusID) = Prevfocusldx ; (氺pStartID) = 0 ; 〃焦點(diǎn)不動(dòng)
else if (otalnum<= shownum)〃如果總顯示數(shù)目小等于頁(yè)Lf(total皿m > = (prefocusID+(total皿m/
顯不最
0151] 大值,即顯示不滿(mǎn)l頁(yè) 0152] { 0153]
row皿m) *rownum+ 0154] 1))〃最后一行的顯示數(shù)目大等于當(dāng)前焦點(diǎn)所在行的位置 0155] {
0156] OpfocusID) = prefocusID+
0157] (totalnum/rownum) *rownum ;〃焦點(diǎn)移云力到最后一行的同一位置 0158] } 0159] else 0160] { 0161] 0162] 0163] 0164] 0165]
OpfocusID) = total皿m-l ;〃焦點(diǎn)移動(dòng)最后一項(xiàng) (氺pStartID) = 0 ; else if (totalnum% shownum == 0)//總顯示數(shù)目是頁(yè)顯
示最大值
0166] 的整數(shù)倍,即所有的頁(yè)都能顯示滿(mǎn)頁(yè) 0167] {
0168] (氺pfocusID) = prefocusID+(linenum_l)氺rownum ;
0169] (氺pStartID) = total皿m-show皿m ;
0170] } 0171] else 0172] {
0173] If(((total皿m % shownum) % row皿m =
0) || (totalnum%
0174] row皿m >= prefocusID+1)) 〃如果最后一頁(yè)不滿(mǎn)頁(yè),但剩余的都能滿(mǎn)行顯示 0175] {
0176] (*pfocusID)=
shownum)/
0177] row皿m-1)承row皿m ; 0178] }
0179] else〃最后一頁(yè)不滿(mǎn)頁(yè),剩余的顯示也不滿(mǎn)行
0180] {
0181] (氺pfocusID) = totalnum% show皿m-1 ;
0182] }
0183] (氺pStartID) = totalnum_totalnum% shownum;
0184] }else//不在第一頁(yè)
if (OpfocusID) >= row皿m)〃焦點(diǎn)不在第一行
(氺pfocusID) = prefocusID—row皿m ;
else〃焦點(diǎn)在第一行
(氺pfocusID) = prefocusID+rownum氺(linenum_l) ;//焦;^^索
-頁(yè)的最后一行的同樣位置 (承pStartID)=
(*pStartID)—shownum ;









引值移 到上-
}
}
}
} 步驟T22 :利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行下移動(dòng)操作,具體包括如下處理
確認(rèn)能夠進(jìn)行下移動(dòng); 利用下移動(dòng)后新焦點(diǎn)的位置索引初值為focusID和row皿m的和獲得下移動(dòng)后新 焦點(diǎn)的位置索引值,該位置索引值指示下移動(dòng)一次時(shí)焦點(diǎn)向下移動(dòng)一行時(shí)的顯示位置。
當(dāng)focusID和row皿m的和小于等于show皿m時(shí),確認(rèn)下移動(dòng)后的新的焦點(diǎn)仍在當(dāng) 前頁(yè)上時(shí),即不需要翻頁(yè)時(shí),則執(zhí)行下述處理 所顯示的總項(xiàng)目不超過(guò)一行,即不滿(mǎn)一行,則不移動(dòng)焦點(diǎn);或者, 所顯示的總項(xiàng)目至少為兩行,若新焦點(diǎn)的位置索引值超過(guò)了所顯示項(xiàng)目的總數(shù),
則將焦點(diǎn)移動(dòng)至最后一行的最后一項(xiàng),若當(dāng)前行為最后一行時(shí),將焦點(diǎn)移動(dòng)至當(dāng)前頁(yè)第一
行的相應(yīng)位置; 當(dāng)total皿m大于show皿m,確認(rèn)總顯示的項(xiàng)目數(shù)目大于一頁(yè),則存在下面幾種處 理情況 若焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的位置超出了當(dāng)前所顯示的最后一行最后一項(xiàng),
且焦點(diǎn)在所顯示的最后一行上,則將焦點(diǎn)移動(dòng)到第一頁(yè)第一行相應(yīng)位置上, 或者,若焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的位置超出了當(dāng)前所顯示的最后一行最后
一項(xiàng),且焦點(diǎn)不在所顯示的最后一行上,則將焦點(diǎn)移動(dòng)到所顯示的最后一行最后一項(xiàng); 或者,若焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的位置在當(dāng)前顯示的最后一行最后一項(xiàng)上,
則將焦點(diǎn)移動(dòng)到最后一行最后一項(xiàng); 當(dāng)新焦點(diǎn)的位置索引值大于show皿m時(shí),確認(rèn)下移動(dòng)后的新焦點(diǎn)不在當(dāng)前頁(yè)上 時(shí),如原焦點(diǎn)在當(dāng)前頁(yè)的最后一行時(shí),移動(dòng)后的新焦點(diǎn)在下一頁(yè),則執(zhí)行下述處理
若總顯示數(shù)目不滿(mǎn)一頁(yè),則新焦點(diǎn)移動(dòng)到當(dāng)頁(yè)第一行的相應(yīng)位置,或者
若總顯示數(shù)目超過(guò)一頁(yè),且下一頁(yè)顯示超過(guò)一行,則新焦點(diǎn)移動(dòng)到下一頁(yè)第一行 相應(yīng)位置,或者 若總顯示數(shù)目超過(guò)一頁(yè),且下一頁(yè)顯示不超過(guò)一行,則新焦點(diǎn)移動(dòng)到下一頁(yè)第一 行的最后一項(xiàng), 或者,其它情況下,將焦點(diǎn)移動(dòng)到下一頁(yè)第一行相應(yīng)位置。
具體的,參見(jiàn)圖3,包括如下操作 首先,進(jìn)行初始化過(guò)程,在初始化過(guò)程中,對(duì)各種控制參數(shù)如row皿m、 linenum、 totalnum、 startID以及其他必要參數(shù)等進(jìn)行初始化,其中將控制參數(shù)初始化為當(dāng)前 輸入的控制參數(shù);并計(jì)算屏幕上一頁(yè)顯示的項(xiàng)目的最大值show皿m等,show皿m = roWnum*line皿m。再次,根據(jù)控制參數(shù)判斷當(dāng)前能否進(jìn)行焦點(diǎn)的上移動(dòng)操作,只有當(dāng) row皿m、 line皿m和total皿m中的任一項(xiàng)都不為0時(shí),才確認(rèn)能夠進(jìn)行上移動(dòng)操作。
步驟1 :利用focusID、 row皿m和show皿m判斷下移動(dòng)新的焦點(diǎn)是否當(dāng)前頁(yè)上,如 當(dāng)focusID與row皿m的和小于等于show皿m時(shí),判斷無(wú)需進(jìn)行翻頁(yè),新焦點(diǎn)仍在當(dāng)前頁(yè)上 顯示,執(zhí)行步驟2,否則,需要進(jìn)行翻頁(yè),執(zhí)行步驟5 ; 步驟2 :判斷總顯示數(shù)目是否小于等于頁(yè)顯示最大值,即total皿m是否小于等于 shownum,若是,表明顯示不滿(mǎn)一頁(yè),執(zhí)行步驟3,若否,表明至少顯示了兩頁(yè),則執(zhí)行步驟4 :
步驟3 :分為如下若干情況 步驟31 :所顯示的總項(xiàng)目不滿(mǎn)一行,即total皿m <= rown咖,則不移動(dòng)焦點(diǎn);
步驟32 :新焦點(diǎn)的focusID超出了總顯示的項(xiàng)目,即total皿m < focusID+l,則將 focusID設(shè)置為total皿m-l,以將焦點(diǎn)移動(dòng)至最后一項(xiàng)。 步驟33 :若當(dāng)前焦點(diǎn)(原焦點(diǎn))在最后 一 行,即focus ID > = totalnum/ row皿m打ow皿m時(shí),則將焦點(diǎn)移動(dòng)到第 一 行的相應(yīng)位置,如將focusID設(shè)置為 focusID-total皿m/row皿m訂ow皿m的值,
步驟4 :包括如下處理 判斷焦點(diǎn)是否在最后一頁(yè)上,即startID+shownum > = totalnum是否成立,若 焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的focusID超出了當(dāng)前所顯示的最后一行最后一個(gè),即存在 startID+focusID+1 >= totalnum時(shí),且當(dāng)前焦點(diǎn)不在所顯示的最后一行上,則將焦點(diǎn)移 動(dòng)到第一頁(yè)第一行相應(yīng)位置上; 否則,若焦點(diǎn)在最后一頁(yè)上,且按新焦點(diǎn)的位置未超出了當(dāng)前所顯示的最后一行 最后一個(gè),即(total皿m-startID) < (focusID+1),且當(dāng)前焦點(diǎn)不在所顯示的最后一行上, 則將焦點(diǎn)移動(dòng)到所顯示的最后一行的最后一個(gè),將focusID設(shè)置為total皿m-startID-l。
否則,若原焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的位置在當(dāng)前顯示的最后一行最后一個(gè), 則焦點(diǎn)移動(dòng)到最后一行最后一個(gè),將focusID設(shè)置為totalnum% shown咖-l。
步驟5 :若下移動(dòng)時(shí)焦點(diǎn)在當(dāng)前頁(yè)最后一行上時(shí),需要翻頁(yè)處理時(shí),執(zhí)行下述處 理 步驟51 :若總顯示數(shù)目小于等于頁(yè)顯示最大值,即有show皿m > = total皿m,則將 focusID設(shè)置為focusID-rownum*(linenum-l)的值,startID不變,以將焦點(diǎn)移動(dòng)到當(dāng)頁(yè)第 一行的相應(yīng)位置;或者, 步驟52:若總顯示數(shù)目大于頁(yè)最大顯示值,且下一頁(yè)顯示超過(guò)一行,即存在(startID+shownum+rownum) < totalnum,則新焦點(diǎn)移云力至Ll下——頁(yè)第——行相應(yīng)位置,將 focusID設(shè)置為focusID-rownum* (linenum-l)的值,將startID設(shè)置為StartID與show皿m 的和。
步驟53 :若總顯示數(shù)目大于頁(yè)最大顯示值,且下一頁(yè)顯示不超過(guò)一行,即有 (startID+show皿m+row皿m) >= totalnum)&&((startID+shownum) < totalnum),則新焦 點(diǎn)移動(dòng)到下一頁(yè)第一行的最后位置,startID值變?yōu)閟tartID與show皿m的和的值;
步驟54 :其它情況下,將新焦點(diǎn)移動(dòng)到下一頁(yè)第一行相應(yīng)位置,startID值變?yōu)?startID與show皿m的禾口的值。將focusID設(shè)置為focusID-rownum*(linenum-l)的值。
本發(fā)明實(shí)施例可以采用如下函數(shù) void _MApp_ActionDown (U32 rownum, U32 linenum,U32 totalnum, U32*pfocusID, U32 *pStartID)實(shí)現(xiàn)上述下操作, 其中,*pfocusIdx為focusID的指針,*pStartIdx為startID的指針。
示例性的,本發(fā)明實(shí)施例提供了一種上述函數(shù)的具體實(shí)現(xiàn)方式,參見(jiàn)如下代碼
static void _MApp_ActionDown (U32 row皿m, U32 line皿m, U32 total皿m, U32承pfocusID,U32承pStartID)














值,


不滿(mǎn)


值,即不
f超畔亍
U32 Prevfocusldx ;〃初始化上次焦點(diǎn)位置索引值 U32 show皿m = rownum*linenum ;〃計(jì)算屏幕能顯示的最大數(shù)目 if (show皿m < = 0 || totalnum <= 0)
DBG_INF0(〃 show皿m or totalnum number error, show皿m: % d totalnum: % d\n〃 , show皿m, total皿m);
6ls6
prefocusID =承pfocusID j
(*pfocusID) = (*pfocusID)+rownum ;〃焦點(diǎn)索引值加一行的顯示數(shù)目 if((*pf0CusID) < shownum)〃若新的焦點(diǎn)索引值未超過(guò)頁(yè)顯示最大
即仍在當(dāng)頁(yè)上顯示
:f (totalnum < = show皿m) 〃總顯示數(shù)目小等于頁(yè)顯示最大值,即
頁(yè)
:f (totalnum < = row誦) 〃 總顯示數(shù)目小等于行顯示最大(氺pfocusID) = Prevfocusldx ; else if(totalnum< ((*pfocusID)+1)) 〃若新焦點(diǎn)索引值超

過(guò)了總 顯示數(shù),則新焦點(diǎn)放到最后一項(xiàng)
{ (氺pfocusID) = total誦-1 ; } else if (prefocusID > = total皿m/row皿m氺row皿m)//若原焦
點(diǎn)在最 后一行,則新焦點(diǎn)該在第一行相應(yīng)的位置上
{
(^pfocusID) = prefocusID—total皿m/row皿m訂ow皿m ;





頁(yè)上
(氺pStartID) = 0 ; else〃總顯示數(shù)目大于頁(yè)顯示最大值,即超過(guò)一頁(yè)
if (((承pStartlD)+sho麗m) >= total誦) 〃 焦點(diǎn)在最后一
if (((*pStartID) + (*pfocusID) +1) > = totaln咖) 〃 按
下操作后新 焦點(diǎn)的索引值若超出了總顯示數(shù)目,需換到第一頁(yè)第一行相應(yīng)位置
{
< total皿m-(氺pStartlD))
■ f (((*pfocusID)/rownum+l)*rownum
(氺pStartID) = 0 ;
If (Prevfocusldx < row皿m)
(氺pfocusID) = Prevfocusld ;
6ls6
(氺pfocusID) = Prevfocusldx-(PrevfocusIdx/row皿m)氺row皿m s
6ls6 { (氺pfocusID) = totalnum—(氺pStartlD)—1 ; }
18else if ( (totalnum-(承pStartID)) ((*pfocusID) +1)) 〃若未超出
總顯示數(shù)目,則移動(dòng)到當(dāng)頁(yè)的最后一個(gè)
(氺pfocusID) = totalnum—(氺pStartlD)—l ;
else〃若原焦點(diǎn)位置在當(dāng)前頁(yè)的最后一行,則按下的話(huà)會(huì)切換到下一頁(yè)
if (show皿m >= total皿m)〃若總數(shù)小等于頁(yè)顯示最大值
(氺pfocusID) = prefocusID—rowruim氺(linenum_l)) ;//焦;^^移
一行的相應(yīng)位置,停留到第一頁(yè)
(氺pStartID) = 0 ;
else if (((*pStartID)+shownum+rownum) < total皿m)//若下一頁(yè)
示超過(guò)一行
(氺pfocusID) = prefocusID—rowruim氺(linenum_l)) ;//焦;^^移
一行的相應(yīng)位置,翻到下一頁(yè)
(氺pStartID)=(氺pStartID)+shownum ;
else if ((((*pStartID)+shownum+rownum) > = totalnum)&&(((*pStartID)+shownum) < total皿m))//下一頁(yè)顯示不滿(mǎn)一行
(*pfocusID) = totalnum% show皿m ; (氺pStartID)=(氺pStartID)+shownum ;
else〃其它情況
(氺pfocusID) = prefocusID—rowruim氺(linenum_l)); (氺pStartID)=(氺pStartID)+shownum ;
}
}
} 步驟T23 :利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行左移動(dòng)操作,具體包括如下處理
當(dāng)focusID大于0時(shí),利用focusID和1的差值得到左移動(dòng)后新焦點(diǎn)的位置索引值,將焦點(diǎn)移動(dòng)至所述新焦點(diǎn)的位置索引值所指示的位置;
當(dāng)focusID小于等于0時(shí),包括如下幾種處理情況 當(dāng)startID為0時(shí),確認(rèn)焦點(diǎn)在第一頁(yè)上,則將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行最右側(cè)的位置上或?qū)⒔裹c(diǎn)移動(dòng)至當(dāng)前頁(yè)最后一行最右側(cè)的位置上; 當(dāng)startID不為0時(shí),確認(rèn)焦點(diǎn)不在第一頁(yè)上,則將焦點(diǎn)移動(dòng)到上一頁(yè)的最后一行最右側(cè)位置; 其中,所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行。 本發(fā)明實(shí)施例給出了一種左移動(dòng)的具體實(shí)現(xiàn)方式,參見(jiàn)圖4,首先進(jìn)行相應(yīng)的初始化過(guò)程,然后執(zhí)行如下步驟 步驟1 :當(dāng)row皿m、 line皿m與total皿m中的任一項(xiàng)都不為0時(shí),確認(rèn)能夠進(jìn)行左移動(dòng)。 步驟2 :當(dāng)focusID不為O(如focusID > 0)時(shí),這時(shí),確認(rèn)當(dāng)前焦點(diǎn)不在第一行第一個(gè)位置,則將focusID自動(dòng)減一,以將焦點(diǎn)移動(dòng)至該焦點(diǎn)左側(cè)的下一位置或上一行最右側(cè)的位置,startID不變;當(dāng)focusID小于等于0,即當(dāng)前焦點(diǎn)位于第一行第一項(xiàng)時(shí),執(zhí)行步驟3。 步驟3 :當(dāng)前焦點(diǎn)在第一行第一項(xiàng)時(shí),還包括如下幾種情況 步驟30 :當(dāng)前頁(yè)不為第一頁(yè)時(shí),即有startID不為0時(shí),將焦點(diǎn)移動(dòng)至上一頁(yè)最右側(cè)的項(xiàng)(該最右側(cè)的項(xiàng)通常為最后一項(xiàng)),將focusID設(shè)置為show皿m-l的值,將startID設(shè)置為startID-show皿m的值。 步驟31 :當(dāng)前頁(yè)為第一頁(yè)時(shí),即有startID為0時(shí),若顯示的項(xiàng)目不滿(mǎn)一頁(yè),即有total皿m < = show皿m時(shí),則將焦點(diǎn)移動(dòng)至當(dāng)前頁(yè)最后一行最右側(cè)的位置,將focusID設(shè)置為total皿m-l的值,startID的值不變。 步驟32 :當(dāng)前頁(yè)為第一頁(yè)時(shí),且所有頁(yè)都是滿(mǎn)頁(yè)顯示時(shí),即有total皿m^ shownum
=0時(shí),將焦點(diǎn)移動(dòng)至最后一頁(yè)最右側(cè)的項(xiàng)(該最右側(cè)的項(xiàng)通常為最后一項(xiàng)),即將
focusID設(shè)置為shownum-l的值,將startID設(shè)置為total皿m-show皿m的值。 若當(dāng)前頁(yè)為第一頁(yè),當(dāng)前焦點(diǎn)在第一行第一項(xiàng)時(shí),除去步驟31和32中的情況外,
執(zhí)行步驟33將焦點(diǎn)移動(dòng)至上一頁(yè)最右側(cè)的項(xiàng),將focusID設(shè)置為totalnum% show皿m-l,
將startID設(shè)置為(total皿m/show皿m) *shownum。 本發(fā)明實(shí)施例可以采用如下函數(shù)
0348] void _MApp_ActionLeft (U32 rownum, U32 linenum,U32 totalnum,U32*pfocusID, U32 *pStartID)實(shí)現(xiàn)上述左操作, 其中,*pfocusIdx為focusID的指針,*pStartIdx為startID的指針。 示例性的,本發(fā)明實(shí)施例提供了一種上述函數(shù)的具體實(shí)現(xiàn)方式,參見(jiàn)如下代碼 static void _MApp_ActionLeft (U32 row皿m, U32 line皿m,U32 total皿m,

滿(mǎn)的
U32承pfocusID,U32承pStartID)
U32 Prevfocusldx ;
U32 shownum = row皿npi4ine皿m ;
if (shownum < = 0 || totalnum <= 0)
DBG_INF0(〃 shownum or totalnum number error, shownum:% dtotalnum: % d\n〃 , show皿m, total皿m);
6ls6
prefocusID =(氺pfocusID);
if (*pf0CusID > 0)〃若當(dāng)前焦點(diǎn)不在第一行第一個(gè)位置(氺pfocusID)__ ;
6ls6
if((*pStartID) == 0)〃若當(dāng)前頁(yè)為第一頁(yè)
if (totalnum <= shownum)//顯不不滿(mǎn)頁(yè)
(氺pfocusID) = total皿m-1 ;(氺pStartID) = 0 ;
6ls6
if (totalnum% shownum == 0)〃若所以頁(yè)顯示都是
(*pfocusID) = shownum-l ;(^pStartlD) = total皿m—show皿m ;
6ls6
(氺pfocusID) = (totalnum% show皿m) _1 ;(*pStartID) = (total皿m/show皿m) *shownum ;
(^pfocusID) = shownum-l ;(氺pStartID)=(氺pStartID: }
}
}
} 步驟T24 :利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行右移動(dòng)操作,具體包括如下處理
參見(jiàn)圖5,主要包括如下步驟 步驟1 :當(dāng)row皿m、line皿m與total皿m中的任一項(xiàng)都不為0時(shí),確認(rèn)能夠進(jìn)行右移動(dòng); 步驟2 :通過(guò)focusID加1,得到新焦點(diǎn)位置索引值,確定新焦點(diǎn)的位置,從而將焦點(diǎn)移動(dòng)至該焦點(diǎn)右側(cè)的下一位置或下一行最左側(cè)的位置;其中, 若新焦點(diǎn)位置索引值與startID的和大于等于total皿m,指示新焦點(diǎn)的位置超出所顯示的最后一項(xiàng)的位置,則將focusID設(shè)置為0以及將startID設(shè)置0,以將焦點(diǎn)移動(dòng)到第一頁(yè)第一行最左側(cè)的位置; 若新焦點(diǎn)位置索引值與startID的和小于total皿m,但新焦點(diǎn)位置索引值大于等于shown咖,則將focusID設(shè)置為0以及將startID設(shè)置為startID與show皿m的禾P,以將焦點(diǎn)移動(dòng)到下一頁(yè)第一行最左側(cè)的位置上。 而除上述兩種情況外,其它情況無(wú)需再修改上述獲得的新焦點(diǎn)位置,將焦點(diǎn)移動(dòng)至所述新焦點(diǎn)位置索引值指示的位置。 void _MApp_ActionRight (U32 rownum, U32 linenum,U32 totalnum,U32*pfocusID, U32 *pStartID)實(shí)現(xiàn)上述右操作, 其中,*pfocusIdx為focusID的指針,*pStartIdx為startID的指針。 示例性的,本發(fā)明實(shí)施例提供了一種上述函數(shù)的具體實(shí)現(xiàn)方式,參見(jiàn)如下代碼 static void _MApp_ActionRight (U32 row皿m,U32 line皿m,U32 total皿m, U32 *pfocusID,U32 *pStartID) {
DBG_INF0(〃 show皿m or totalnum number error, show皿m: % dtotal皿m: % d\n〃 , show皿m, total皿m);
U32 Prevfocusldx ;
U32 show皿m = row皿npi4ine皿m ;
if (show皿m < = 0 || totalnum <= 0)
prefocusID =(氺pfocusID); OpfocusID)++; if ((氺pfocusID) + (氺pStartlD) > = totalnum) { (*pfocusID) = 0 ; (*pStartID) = 0 ; }
else
{ if ((*pfocusID) >= show誦) { (*pfocusID) = 0 ; (*pStartID) = (*pStartID)+shownum ; }
}
}
} 本領(lǐng)域普通技術(shù)人員可以理解,上述利用控制參數(shù)通過(guò)相應(yīng)運(yùn)算獲取移動(dòng)后新焦點(diǎn)的位置只是示例性的說(shuō)明,可調(diào)整各個(gè)步驟中的運(yùn)算方法得到相同或相似的結(jié)果,并適應(yīng)性的調(diào)整代碼的描述方式。 本發(fā)明實(shí)施例提供的技術(shù)方案,通過(guò)控制參數(shù)能夠靈活地調(diào)整電視機(jī)界面的顯示模式,并且在該顯示模式下,利用控制參數(shù)實(shí)現(xiàn)焦點(diǎn)上下左右的移動(dòng),以對(duì)電視機(jī)界面進(jìn)行控制。本發(fā)明實(shí)施例的技術(shù)方案通過(guò)控制參數(shù)能夠?qū)Σ煌@示模式進(jìn)行控制,解決了現(xiàn)有電視機(jī)顯示模式固定且對(duì)每種顯示模式需要編寫(xiě)一套代碼所帶來(lái)的問(wèn)題,提高了廠商的工作效率和系統(tǒng)資源的利用率,改善了界面的顯示效果,增強(qiáng)了用戶(hù)體驗(yàn)。 本發(fā)明實(shí)施例三還提供了一種電視機(jī)界面的控制裝置,所述裝置包括 顯示模式確定單元,用于根據(jù)輸入的控制參數(shù)確定當(dāng)前的顯示模式; 操作控制單元,用戶(hù)在所述顯示模式下,利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行上移動(dòng)、
下移動(dòng)、左移動(dòng)或右移動(dòng)中的一種操作。 進(jìn)一步的,上述控制參數(shù)包括一頁(yè)上每行顯示的項(xiàng)目數(shù)row皿m與每列顯示的項(xiàng)目數(shù)line皿m、所顯示的總項(xiàng)目數(shù)total皿m以及當(dāng)前焦點(diǎn)的頁(yè)索引值startID和位置索引
值f0CUsID ; 其中,startID指示當(dāng)前焦點(diǎn)所在的頁(yè),startID = nX show皿m, show皿m為row皿m與linenum的乘積,n取自然數(shù),n = 0,1,2,3,…;focusID指示當(dāng)前焦點(diǎn)在當(dāng)前頁(yè)所有項(xiàng)目中的位置。 其中,所述操作控制單元包括上移動(dòng)模塊,下移動(dòng)模塊,左移動(dòng)模塊和右移動(dòng)模塊, 所述上移動(dòng)模i央,用于當(dāng)row皿m、linenum與totaln咖中的任一項(xiàng)都不為0時(shí),確認(rèn)能夠進(jìn)行上移動(dòng);利用startID確認(rèn)當(dāng)前焦點(diǎn)是否在第一頁(yè)以及利用focusID和row皿m
23確認(rèn)當(dāng)前焦點(diǎn)是否在第一行,當(dāng)當(dāng)前焦點(diǎn)不在第一頁(yè)時(shí),若當(dāng)前焦點(diǎn)位于第一行,將焦點(diǎn)移動(dòng)到上一頁(yè)最后一行的相應(yīng)位置,若當(dāng)前焦點(diǎn)不位于第一行,將焦點(diǎn)移動(dòng)至上一行的相應(yīng)位置; 當(dāng)當(dāng)前焦點(diǎn)在第一頁(yè)時(shí),若當(dāng)前焦點(diǎn)不位于第一行,將焦點(diǎn)移動(dòng)至上一行的相應(yīng)位置;若當(dāng)前焦點(diǎn)位于第一行,至少包括如下操作 根據(jù)total皿m和row皿m確認(rèn)若所顯示的總項(xiàng)目不超過(guò)一行,則不移動(dòng)焦點(diǎn);或者,根據(jù)totalnum、 rownum和shownum確認(rèn)所顯示的項(xiàng)目大于一行但不超過(guò)一頁(yè)時(shí),包括若當(dāng)前頁(yè)最后一行存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到當(dāng)前頁(yè)最后一行的相應(yīng)位置;若當(dāng)前頁(yè)最后一行不存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到當(dāng)前頁(yè)最后一行的最后一項(xiàng);或者,根據(jù)totalnum和shownum確認(rèn)所顯示的項(xiàng)目全部為滿(mǎn)頁(yè)顯示,將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行的相應(yīng)位置;或者,根據(jù)totalnum和shownum確認(rèn)至少顯示了兩頁(yè)時(shí),若最后一頁(yè)最后一行存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行的相應(yīng)位置,若最后一頁(yè)最后一行不存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行的最后一項(xiàng);
其中,所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行;
所述下移動(dòng)模塊,用于當(dāng)row皿m、line皿m與total皿m中的任一項(xiàng)都不為0時(shí),確認(rèn)能夠進(jìn)行下移動(dòng);利用focusID和row皿m的和獲得下移動(dòng)后新焦點(diǎn)的位置索引值;
其中,當(dāng)新焦點(diǎn)的位置索引值小于等于shownum時(shí),確認(rèn)下移動(dòng)后的新焦點(diǎn)仍在當(dāng)前頁(yè)上時(shí),則執(zhí)行下述處理當(dāng)totalnum小于等于show皿m,確認(rèn)總顯示項(xiàng)目不滿(mǎn)一頁(yè),則存在下面幾種處理情況若所顯示的總項(xiàng)目不超過(guò)一行時(shí),則不移動(dòng)焦點(diǎn);或者,若所顯示的總項(xiàng)目至少為兩行時(shí),若新焦點(diǎn)的位置超過(guò)最后一行最后一項(xiàng)所顯示的項(xiàng)目,則將焦點(diǎn)移至最后一行的最后一項(xiàng)上;或者,當(dāng)前行為最后一行時(shí),將焦點(diǎn)移動(dòng)至當(dāng)前頁(yè)第一行的相應(yīng)位置;當(dāng)totalnum大于show皿m,確認(rèn)總顯示的項(xiàng)目數(shù)目大于一頁(yè),則存在下面幾種處理情況若焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的位置超出了當(dāng)前所顯示的最后一行最后一項(xiàng),且焦點(diǎn)在所顯示的最后一行上,則將焦點(diǎn)移動(dòng)到第一頁(yè)第一行相應(yīng)位置上,或者,若焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的位置超出了當(dāng)前所顯示的最后一行最后一項(xiàng),且焦點(diǎn)不在所顯示的最后一行上,則將焦點(diǎn)移動(dòng)到所顯示的最后一行最后一項(xiàng);或者,若焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的位置在當(dāng)前顯示的最后一行最后一項(xiàng)上,則將焦點(diǎn)移動(dòng)到最后一行最后一項(xiàng);
當(dāng)新焦點(diǎn)的位置索引值大于shownum時(shí),確認(rèn)下移動(dòng)后的新焦點(diǎn)不在當(dāng)前頁(yè)上時(shí),則執(zhí)行下述處理 若總顯示數(shù)目不滿(mǎn)一頁(yè),則新焦點(diǎn)移動(dòng)到當(dāng)頁(yè)第一行的相應(yīng)位置,或者,若總顯示數(shù)目超過(guò)一頁(yè),且下一頁(yè)顯示超過(guò)一行,則新焦點(diǎn)移動(dòng)到下一頁(yè)第一行的相應(yīng)位置,或者,若總顯示數(shù)目超過(guò)一頁(yè),且下一頁(yè)顯示不超過(guò)一行,則新焦點(diǎn)移動(dòng)到下一頁(yè)第一行的最后一項(xiàng); 其中,所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行;
所述左移動(dòng)模塊,用于當(dāng)row皿m、 line皿m與total皿m中的任一項(xiàng)都不為0時(shí),確認(rèn)能夠進(jìn)行左移動(dòng);當(dāng)focusID大于0時(shí),利用focusID和1的差值得到左移動(dòng)后新焦點(diǎn)的位置索引值,將焦點(diǎn)移動(dòng)至所述新焦點(diǎn)的位置索引值所指示的位置;當(dāng)focusID小于等于0時(shí),包括如下幾種處理情況當(dāng)startID為0時(shí),確認(rèn)焦點(diǎn)在第一頁(yè)上,則將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行最右側(cè)的位置上或?qū)⒔裹c(diǎn)移動(dòng)至當(dāng)前頁(yè)最后一行最右側(cè)的位置上;
24當(dāng)startID不為0時(shí),確認(rèn)焦點(diǎn)不在第一頁(yè)上,則將焦點(diǎn)移動(dòng)到上一頁(yè)的最后一行最右側(cè)位置;其中,所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行; 所述右移動(dòng)模塊,用于當(dāng)row皿m、 line皿m與total皿m中的任一項(xiàng)都不為0時(shí),確認(rèn)能夠進(jìn)行右移動(dòng);通過(guò)focusID加l,得到新焦點(diǎn)位置索引值;若新焦點(diǎn)位置索引值與startID的和大于等于total皿m,將focusID設(shè)置為0以及將startID設(shè)置0,以將焦點(diǎn)移動(dòng)到第一頁(yè)第一行最左側(cè)的位置;若新焦點(diǎn)位置索引值與startID的和小于total皿m,但新焦點(diǎn)位置索引值大于等于show皿m,將focusID設(shè)置為0以及將startID設(shè)置為startID與show皿m的和,以將焦點(diǎn)移動(dòng)到下一頁(yè)第一行最左側(cè)的位置上,否則,將焦點(diǎn)移動(dòng)至所述新焦點(diǎn)位置索引值指示的位置,以將焦點(diǎn)移動(dòng)至該焦點(diǎn)右側(cè)的下一位置或下一行最左側(cè)的位置。 本發(fā)明裝置實(shí)施例中各功能模塊和單元的具體工作方式參見(jiàn)本發(fā)明方法實(shí)施例。本發(fā)明裝置實(shí)施例中各功能模塊和單元可以單獨(dú)實(shí)現(xiàn),也可以集成在一個(gè)或多個(gè)單元中實(shí)現(xiàn)。 本發(fā)明實(shí)施例提供的技術(shù)方案,通過(guò)控制參數(shù)能夠靈活地調(diào)整電視機(jī)界面的顯示模式,并且在該顯示模式下,利用控制參數(shù)實(shí)現(xiàn)焦點(diǎn)上下左右的移動(dòng),以對(duì)電視機(jī)界面進(jìn)行控制。本發(fā)明實(shí)施例的技術(shù)方案通過(guò)控制參數(shù)能夠?qū)Σ煌@示模式進(jìn)行控制,解決了現(xiàn)有電視機(jī)顯示模式固定且對(duì)每種顯示模式需要編寫(xiě)一套代碼所帶來(lái)的問(wèn)題,提高了廠商的工作效率和系統(tǒng)資源的利用率,改善了界面的顯示效果,增強(qiáng)了用戶(hù)體驗(yàn)。 本發(fā)明實(shí)施例四還提供了一種電視機(jī),所述電視機(jī)包括上述的電視機(jī)界面的控制裝置。例如,上述電視機(jī)界面的控制裝置由單獨(dú)的模塊實(shí)現(xiàn)并內(nèi)置于電視機(jī)中,也可以集成在電視機(jī)的主控芯片上。 本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
一種電視機(jī)界面的控制方法,其特征在于,所述方法包括根據(jù)輸入的控制參數(shù)確定當(dāng)前的顯示模式;在所述顯示模式下,利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行上移動(dòng)、下移動(dòng)、左移動(dòng)或右移動(dòng)中的一種操作。
2. 根據(jù)權(quán)利要求1所述的電視機(jī)界面的控制方法,其特征在于,所述控制參數(shù)包括一頁(yè)上每行顯示的項(xiàng)目數(shù)row皿m與每列顯示的項(xiàng)目數(shù)linenum、所 顯示的總項(xiàng)目數(shù)total皿m以及當(dāng)前焦點(diǎn)的頁(yè)索引值startID和位置索引值focusID ;其中,startID指示當(dāng)前焦點(diǎn)所在的頁(yè),startID = nXshow皿m, show皿m為row皿m與 line皿m的乘積,n = 0、1、2…;focusID指示當(dāng)前焦點(diǎn)在當(dāng)前頁(yè)所有項(xiàng)目中的位置。
3. 根據(jù)權(quán)利要求2所述的電視機(jī)界面的控制方法,其特征在于,在所述顯示模式下,利 用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行上移動(dòng)包括當(dāng)rownum、 linenum與totalnum中的任一項(xiàng)都不為0時(shí),確認(rèn)能夠進(jìn)行上移動(dòng); 利用startID確認(rèn)當(dāng)前焦點(diǎn)是否在第一頁(yè)以及利用focusID和row皿m確認(rèn)當(dāng)前焦點(diǎn) 是否在第一行,當(dāng)當(dāng)前焦點(diǎn)不在第一頁(yè)時(shí),若當(dāng)前焦點(diǎn)位于第一行,將焦點(diǎn)移動(dòng)到上一頁(yè)最后一行的 相應(yīng)位置,若當(dāng)前焦點(diǎn)不位于第一行,將焦點(diǎn)移動(dòng)至上一行的相應(yīng)位置;當(dāng)當(dāng)前焦點(diǎn)在第一頁(yè)時(shí),若當(dāng)前焦點(diǎn)不位于第一行,將焦點(diǎn)移動(dòng)至上一行的相應(yīng)位置; 若當(dāng)前焦點(diǎn)位于第一行,至少包括如下操作根據(jù)total皿m和row皿m確認(rèn)若所顯示的總項(xiàng)目不超過(guò)一行,則不移動(dòng)焦點(diǎn);或者,根據(jù)total皿m、row皿m和show皿m確認(rèn)所顯示的項(xiàng)目大于一行但不超過(guò)一頁(yè)時(shí),包括 若當(dāng)前頁(yè)最后一行存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到當(dāng)前頁(yè)最后一行的相應(yīng)位置;若 當(dāng)前頁(yè)最后一行不存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到當(dāng)前頁(yè)最后一行的最后一項(xiàng);或者,根據(jù)total皿m和show皿m確認(rèn)所顯示的項(xiàng)目全部為滿(mǎn)頁(yè)顯示,將焦點(diǎn)移動(dòng)到最 后一頁(yè)最后一行的相應(yīng)位置;或者,根據(jù)totalnum和shownum確認(rèn)至少顯示了兩頁(yè)時(shí),若最后一頁(yè)最后一行存在當(dāng) 前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行的相應(yīng)位置,若最后一頁(yè)最后一行不存 在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行的最后一項(xiàng);其中,所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行。
4. 根據(jù)權(quán)利要求2所述的電視機(jī)界面的控制方法,其特征在于,在所述顯示模式下,利 用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行下移動(dòng)包括當(dāng)rownum、 linenum與totalnum中的任一項(xiàng)都不為0時(shí),確認(rèn)能夠進(jìn)行下移動(dòng);利用focusID和row皿m的和獲得下移動(dòng)后新焦點(diǎn)的位置索引值;其中,當(dāng)新焦點(diǎn)的位置索引值小于等于show皿m時(shí),確認(rèn)下移動(dòng)后的新焦點(diǎn)仍在當(dāng)前頁(yè)上時(shí),則執(zhí)行下述處理當(dāng)total皿m小于等于show皿m,確認(rèn)總顯示項(xiàng)目不滿(mǎn)一頁(yè),則存在下面幾種處理情況 若所顯示的總項(xiàng)目不超過(guò)一行時(shí),則不移動(dòng)焦點(diǎn);或者,若所顯示的總項(xiàng)目至少為兩行時(shí),若新焦點(diǎn)的位置超過(guò)最后一行最后一項(xiàng)所顯 示的項(xiàng)目,則將焦點(diǎn)移至最后一行的最后一項(xiàng)上;或者,當(dāng)前行為最后一行時(shí),將焦點(diǎn)移動(dòng)至當(dāng)前頁(yè)第一行的相應(yīng)位置;當(dāng)total皿m大于show皿m,確認(rèn)總顯示的項(xiàng)目數(shù)目大于一頁(yè),則存在下面幾種處理情況若焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的位置超出了當(dāng)前所顯示的最后一行最后一項(xiàng),且焦 點(diǎn)在所顯示的最后一行上,則將焦點(diǎn)移動(dòng)到第一頁(yè)第一行相應(yīng)位置上,或者,若焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的位置超出了當(dāng)前所顯示的最后一行最后一項(xiàng), 且焦點(diǎn)不在所顯示的最后一行上,則將焦點(diǎn)移動(dòng)到所顯示的最后一行最后一項(xiàng);或者,若焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的位置在當(dāng)前顯示的最后一行最后一項(xiàng)上,則將 焦點(diǎn)移動(dòng)到最后一行最后一項(xiàng);當(dāng)新焦點(diǎn)的位置索引值大于shownum時(shí),確認(rèn)下移動(dòng)后的新焦點(diǎn)不在當(dāng)前頁(yè)上時(shí),則 執(zhí)行下述處理若總顯示數(shù)目不滿(mǎn)一頁(yè),則新焦點(diǎn)移動(dòng)到當(dāng)頁(yè)第一行的相應(yīng)位置,或者, 若總顯示數(shù)目超過(guò)一頁(yè),且下一頁(yè)顯示超過(guò)一行,則新焦點(diǎn)移動(dòng)到下一頁(yè)第一行的相 應(yīng)位置,或者,若總顯示數(shù)目超過(guò)一頁(yè),且下一頁(yè)顯示不超過(guò)一行,則新焦點(diǎn)移動(dòng)到下一頁(yè)第一行的 最后一項(xiàng);其中,所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行。
5. 根據(jù)權(quán)利要求2所述的電視機(jī)界面的控制方法,其特征在于,在所述顯示模式下,利 用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行左移動(dòng)包括當(dāng)rownum、 linenum與totalnum中的任一項(xiàng)都不為0時(shí),確認(rèn)能夠進(jìn)行左移動(dòng); 當(dāng)focusID大于O時(shí),利用focusID和1的差值得到左移動(dòng)后新焦點(diǎn)的位置索引值,將 焦點(diǎn)移動(dòng)至所述新焦點(diǎn)的位置索引值所指示的位置;當(dāng)focusID小于等于0時(shí),包括如下幾種處理情況當(dāng)startID為0時(shí),確認(rèn)焦點(diǎn)在第一頁(yè)上,則將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行最右側(cè)的 位置上或?qū)⒔裹c(diǎn)移動(dòng)至當(dāng)前頁(yè)最后一行最右側(cè)的位置上;當(dāng)startID不為0時(shí),確認(rèn)焦點(diǎn)不在第一頁(yè)上,則將焦點(diǎn)移動(dòng)到上一頁(yè)的最后一行最右 側(cè)位置;其中,所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行。
6. 根據(jù)權(quán)利要求2所述的電視機(jī)界面的控制方法,其特征在于,在所述顯示模式下,利 用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行右移動(dòng)包括當(dāng)rownum、 linenum與totalnum中的任一項(xiàng)都不為0時(shí),確認(rèn)能夠進(jìn)行右移動(dòng); 通過(guò)focusID加l,得到新焦點(diǎn)位置索引值;若新焦點(diǎn)位置索引值與startID的和大于等于total皿m,將focusID設(shè)置為0以及將 startID設(shè)置0,以將焦點(diǎn)移動(dòng)到第一頁(yè)第一行最左側(cè)的位置;若新焦點(diǎn)位置索引值與startID的和小于total皿m,但新焦點(diǎn)位置索引值大于等于 shownum,將focusID設(shè)置為0以及將startID設(shè)置為startID與show皿m的和,以將焦點(diǎn) 移動(dòng)到下一頁(yè)第一行最左側(cè)的位置上,否則,將焦點(diǎn)移動(dòng)至所述新焦點(diǎn)位置索引值指示的 位置,以將焦點(diǎn)移動(dòng)至該焦點(diǎn)右側(cè)的下一位置或下一行最左側(cè)的位置。
7. —種電視機(jī)界面的控制裝置,其特征在于,所述裝置包括顯示模式確定單元,用于根據(jù)輸入的控制參數(shù)確定當(dāng)前的顯示模式; 操作控制單元,用戶(hù)在所述顯示模式下,利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行上移動(dòng)、下移 動(dòng)、左移動(dòng)或右移動(dòng)中的一種操作。
8. 根據(jù)權(quán)利要求7所述的電視機(jī)界面的控制裝置,其特征在于,所述控制參數(shù)包括一頁(yè)上每行顯示的項(xiàng)目數(shù)row皿m與每列顯示的項(xiàng)目數(shù)linenum、所 顯示的總項(xiàng)目數(shù)total皿m以及當(dāng)前焦點(diǎn)的頁(yè)索引值startID和位置索引值focusID ;其中,startID指示當(dāng)前焦點(diǎn)所在的頁(yè),startID = nXshow皿m, show皿m為row皿m與 line皿m的乘積,n = 0、1、2…;focusID指示當(dāng)前焦點(diǎn)在當(dāng)前頁(yè)所有項(xiàng)目中的位置。
9. 根據(jù)權(quán)利要求8所述的電視機(jī)界面的控制裝置,其特征在于,所述操作控制單元包 括上移動(dòng)模塊,下移動(dòng)模塊,左移動(dòng)模塊和右移動(dòng)模塊,所述上移動(dòng)模i央,用于當(dāng)row皿m、 line皿m與totalnum中的任一項(xiàng)都不為0時(shí),確認(rèn) 能夠進(jìn)行上移動(dòng);利用startID確認(rèn)當(dāng)前焦點(diǎn)是否在第一頁(yè)以及利用focus ID和row皿m確 認(rèn)當(dāng)前焦點(diǎn)是否在第一行,當(dāng)當(dāng)前焦點(diǎn)不在第一頁(yè)時(shí),若當(dāng)前焦點(diǎn)位于第一行,將焦點(diǎn)移動(dòng) 到上一頁(yè)最后一行的相應(yīng)位置,若當(dāng)前焦點(diǎn)不位于第一行,將焦點(diǎn)移動(dòng)至上一行的相應(yīng)位 置;當(dāng)當(dāng)前焦點(diǎn)在第一頁(yè)時(shí),若當(dāng)前焦點(diǎn)不位于第一行,將焦點(diǎn)移動(dòng)至上一行的相應(yīng)位置; 若當(dāng)前焦點(diǎn)位于第一行,至少包括如下操作根據(jù)total皿m和row皿m確認(rèn)若所顯示的總項(xiàng)目不超過(guò)一行,則不移動(dòng)焦點(diǎn);或者,根 據(jù)totalnum、rownum和shownum確認(rèn)所顯示的項(xiàng)目大于一行但不超過(guò)一頁(yè)時(shí),包括若當(dāng)前 頁(yè)最后一行存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到當(dāng)前頁(yè)最后一行的相應(yīng)位置;若當(dāng)前頁(yè) 最后一行不存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到當(dāng)前頁(yè)最后一行的最后一項(xiàng);或者,根據(jù) totalnum和shownum確認(rèn)所顯示的項(xiàng)目全部為滿(mǎn)頁(yè)顯示,將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行 的相應(yīng)位置;或者,根據(jù)totalnum和shownum確認(rèn)至少顯示了兩頁(yè)時(shí),若最后一頁(yè)最后一行 存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行的相應(yīng)位置,若最后一頁(yè)最后一 行不存在當(dāng)前焦點(diǎn)的相應(yīng)項(xiàng),將焦點(diǎn)移動(dòng)到最后一頁(yè)最后一行的最后一項(xiàng);其中,所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行;所述下移動(dòng)模塊,用于當(dāng)row皿m、line皿m與totalnum中的任一項(xiàng)都不為0時(shí),確認(rèn)能 夠進(jìn)行下移動(dòng);利用focusID和row皿m的和獲得下移動(dòng)后新焦點(diǎn)的位置索引值;其中,當(dāng)新焦點(diǎn)的位置索引值小于等于show皿m時(shí),確認(rèn)下移動(dòng)后的新焦點(diǎn)仍在當(dāng)前 頁(yè)上時(shí),則執(zhí)行下述處理當(dāng)totalnum小于等于show皿m,確認(rèn)總顯示項(xiàng)目不滿(mǎn)一頁(yè),則存 在下面幾種處理情況若所顯示的總項(xiàng)目不超過(guò)一行時(shí),則不移動(dòng)焦點(diǎn);或者,若所顯示的 總項(xiàng)目至少為兩行時(shí),若新焦點(diǎn)的位置超過(guò)最后一行最后一項(xiàng)所顯示的項(xiàng)目,則將焦點(diǎn)移 至最后一行的最后一項(xiàng)上;或者,當(dāng)前行為最后一行時(shí),將焦點(diǎn)移動(dòng)至當(dāng)前頁(yè)第一行的相應(yīng) 位置;當(dāng)totalnum大于show皿m,確認(rèn)總顯示的項(xiàng)目數(shù)目大于一頁(yè),則存在下面幾種處理情 況若焦點(diǎn)在最后一頁(yè)上,且新焦點(diǎn)的位置超出了當(dāng)前所顯示的最后一行最后一項(xiàng),且焦點(diǎn) 在所顯示的最后一行上,則將焦點(diǎn)移動(dòng)到第一頁(yè)第一行相應(yīng)位置上,或者,若焦點(diǎn)在最后一 頁(yè)上,且新焦點(diǎn)的位置超出了當(dāng)前所顯示的最后一行最后一項(xiàng),且焦點(diǎn)不在所顯示的最后 一行上,則將焦點(diǎn)移動(dòng)到所顯示的最后一行最后一項(xiàng);或者,若焦點(diǎn)在最后一頁(yè)上,且新焦 點(diǎn)的位置在當(dāng)前顯示的最后一行最后一項(xiàng)上,則將焦點(diǎn)移動(dòng)到最后一行最后一項(xiàng);當(dāng)新焦點(diǎn)的位置索引值大于shownum時(shí),確認(rèn)下移動(dòng)后的新焦點(diǎn)不在當(dāng)前頁(yè)上時(shí),則 執(zhí)行下述處理若總顯示數(shù)目不滿(mǎn)一頁(yè),則新焦點(diǎn)移動(dòng)到當(dāng)頁(yè)第一行的相應(yīng)位置,或者,若總顯示數(shù)目 超過(guò)一頁(yè),且下一頁(yè)顯示超過(guò)一行,則新焦點(diǎn)移動(dòng)到下一頁(yè)第一行的相應(yīng)位置,或者,若總 顯示數(shù)目超過(guò)一頁(yè),且下一頁(yè)顯示不超過(guò)一行,則新焦點(diǎn)移動(dòng)到下一頁(yè)第一行的最后一項(xiàng); 其中,所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行;所述左移動(dòng)模塊,用于當(dāng)row皿m、line皿m與total皿m中的任一項(xiàng)都不為0時(shí),確認(rèn)能 夠進(jìn)行左移動(dòng);當(dāng)focusID大于O時(shí),利用focusID和1的差值得到左移動(dòng)后新焦點(diǎn)的位置 索引值,將焦點(diǎn)移動(dòng)至所述新焦點(diǎn)的位置索引值所指示的位置;當(dāng)focusID小于等于0時(shí), 包括如下幾種處理情況當(dāng)startID為0時(shí),確認(rèn)焦點(diǎn)在第一頁(yè)上,則將焦點(diǎn)移動(dòng)到最后一 頁(yè)最后一行最右側(cè)的位置上或?qū)⒔裹c(diǎn)移動(dòng)至當(dāng)前頁(yè)最后一行最右側(cè)的位置上;當(dāng)startID 不為0時(shí),確認(rèn)焦點(diǎn)不在第一頁(yè)上,則將焦點(diǎn)移動(dòng)到上一頁(yè)的最后一行最右側(cè)位置;其中, 所述的最后一行為所述頁(yè)中具有顯示項(xiàng)目的最后一行;所述右移動(dòng)模i央,用于當(dāng)rownum、 linenum與totalnum中的任一項(xiàng)都不為0時(shí),確 認(rèn)能夠進(jìn)行右移動(dòng);通過(guò)focusID加l,得到新焦點(diǎn)位置索引值;若新焦點(diǎn)位置索引值與 startID的和大于等于total皿m,將focusID設(shè)置為0以及將startID設(shè)置0,以將焦點(diǎn)移 動(dòng)到第一頁(yè)第一行最左側(cè)的位置;若新焦點(diǎn)位置索引值與startID的和小于total皿m,但 新焦點(diǎn)位置索引值大于等于show皿m,將focusID設(shè)置為0以及將startID設(shè)置為startID 與show皿m的和,以將焦點(diǎn)移動(dòng)到下一頁(yè)第一行最左側(cè)的位置上,否則,將焦點(diǎn)移動(dòng)至所述 新焦點(diǎn)位置索引值指示的位置,以將焦點(diǎn)移動(dòng)至該焦點(diǎn)右側(cè)的下一位置或下一行最左側(cè)的 位置。
10. —種電視機(jī),其特征在于,所述電視機(jī)包括上述7至9任一項(xiàng)所述的電視機(jī)界面的 控制裝置。
全文摘要
本發(fā)明公開(kāi)了一種電視機(jī)界面的控制方法、裝置和電視機(jī),涉及電視機(jī)技術(shù)領(lǐng)域,能夠提高廠商的工作效率和系統(tǒng)資源的利用率,改善界面的顯示效果,增強(qiáng)了用戶(hù)體驗(yàn)。本發(fā)明實(shí)施例提供的電視機(jī)界面的控制方法包括根據(jù)輸入的控制參數(shù)確定當(dāng)前的顯示模式;在所述顯示模式下,利用所述控制參數(shù),對(duì)焦點(diǎn)進(jìn)行上移動(dòng)、下移動(dòng)、左移動(dòng)或右移動(dòng)中的一種操作。本發(fā)明適用于需要對(duì)多行多列的用戶(hù)界面進(jìn)行控制的場(chǎng)合。
文檔編號(hào)G06F3/048GK101783905SQ20101012918
公開(kāi)日2010年7月21日 申請(qǐng)日期2010年3月22日 優(yōu)先權(quán)日2010年3月22日
發(fā)明者武玉朋 申請(qǐng)人:青島海信電器股份有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1