控件的渲染方法及裝置制造方法
【專利摘要】本發(fā)明提供一種控件的渲染方法及裝置。本發(fā)明實(shí)施例通過(guò)獲取光標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信息,進(jìn)而根據(jù)所述經(jīng)過(guò)方向信息,獲得遮罩圖層的渲染方向信息,使得能夠根據(jù)所述渲染方向信息,利用所述遮罩圖層對(duì)所述目標(biāo)控件進(jìn)行渲染,由于遮罩圖層上沒(méi)有任何指定的圖案,因此,無(wú)需根據(jù)每個(gè)控件分別設(shè)置遮罩圖層,操作簡(jiǎn)單,從而提高了控件的渲染效率。
【專利說(shuō)明】控件的渲染方法及裝置 【【技術(shù)領(lǐng)域】】
[0001] 本發(fā)明涉及檢索技術(shù),尤其涉及一種控件的渲染方法及裝置。 【【背景技術(shù)】】
[0002] 控件,為用戶可與之交互,以輸入或操作數(shù)據(jù)的對(duì)象,是一種圖形用戶界面元素, 例如,用戶界面(User Interface,UI)控件等。用戶可以利用輸入設(shè)備如,鍵盤(pán)或鼠標(biāo)等控 制光標(biāo),以與控件進(jìn)行交互。當(dāng)光標(biāo)經(jīng)過(guò)控件時(shí),可以利用新的渲染體直接替換原來(lái)的渲染 體,例如,利用新的圖片替換原來(lái)的圖片,或者利用新的字體顏色替換原來(lái)的字體顏色等, 對(duì)控件進(jìn)行渲染,以展現(xiàn)交互效果。
[0003] 然而,由于利用新的渲染體直接替換原來(lái)的渲染體,對(duì)控件進(jìn)行渲染,因此,需要 根據(jù)每個(gè)控件分別設(shè)置新的渲染體,操作復(fù)雜,從而導(dǎo)致了控件的渲染效率的降低。 【
【發(fā)明內(nèi)容】
】
[0004] 本發(fā)明的多個(gè)方面提供一種控件的渲染方法及裝置,用以提高控件的渲染效率。
[0005] 本發(fā)明的一方面,提供一種控件的渲染方法,包括:
[0006] 獲取光標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信息;
[0007] 根據(jù)所述經(jīng)過(guò)方向信息,獲得遮罩圖層的渲染方向信息;
[0008] 根據(jù)所述渲染方向信息,利用所述遮罩圖層對(duì)所述目標(biāo)控件進(jìn)行渲染。
[0009] 如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述經(jīng)過(guò)方 向信息包括進(jìn)入方向信息和/或離開(kāi)方向信息。
[0010] 如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述根據(jù)所 述渲染方向信息,利用所述遮罩圖層對(duì)所述目標(biāo)控件進(jìn)行渲染之前,還包括:
[0011] 創(chuàng)建遮罩圖層;
[0012] 根據(jù)預(yù)先設(shè)置的透明度參數(shù),設(shè)置所述遮罩圖層的透明度,所述透明度參數(shù)大于0 且小于1。
[0013] 如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述遮罩圖 層的尺寸大于或等于所述目標(biāo)控件的尺寸。
[0014] 如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述根據(jù)所 述渲染方向信息,利用所述遮罩圖層對(duì)所述目標(biāo)控件進(jìn)行渲染,包括:
[0015] 根據(jù)所述渲染方向信息和預(yù)先設(shè)置的指定渲染步長(zhǎng),獲得所述遮罩圖層參與渲染 的有效圖層;
[0016] 利用所述有效圖層,對(duì)所述目標(biāo)控件進(jìn)行渲染。
[0017] 本發(fā)明的另一方面,提供一種控件的渲染裝置,包括:
[0018] 獲取單元,用于獲取光標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信息;
[0019] 策略單元,用于根據(jù)所述經(jīng)過(guò)方向信息,獲得遮罩圖層的渲染方向信息;
[0020] 渲染單元,用于根據(jù)所述渲染方向信息,利用所述遮罩圖層對(duì)所述目標(biāo)控件進(jìn)行 渲染。
[0021] 如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述經(jīng)過(guò)方 向信息包括進(jìn)入方向信息和/或離開(kāi)方向信息。
[0022] 如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述裝置還 包括創(chuàng)建單元,用于
[0023] 創(chuàng)建遮罩圖層;以及
[0024] 根據(jù)預(yù)先設(shè)置的透明度參數(shù),設(shè)置所述遮罩圖層的透明度,所述透明度參數(shù)大于0 且小于1。
[0025] 如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述遮罩圖 層的尺寸大于或等于所述目標(biāo)控件的尺寸。
[0026] 如上所述的方面和任一可能的實(shí)現(xiàn)方式,進(jìn)一步提供一種實(shí)現(xiàn)方式,所述渲染單 元,具體用于
[0027] 根據(jù)所述渲染方向信息和預(yù)先設(shè)置的指定渲染步長(zhǎng),獲得所述遮罩圖層參與渲染 的有效圖層;以及
[0028] 利用所述有效圖層,對(duì)所述目標(biāo)控件進(jìn)行渲染。
[0029] 由上述技術(shù)方案可知,本發(fā)明實(shí)施例通過(guò)獲取光標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信 息,進(jìn)而根據(jù)所述經(jīng)過(guò)方向信息,獲得遮罩圖層的渲染方向信息,使得能夠根據(jù)所述渲染方 向信息,利用所述遮罩圖層對(duì)所述目標(biāo)控件進(jìn)行渲染,由于遮罩圖層上沒(méi)有任何指定的圖 案,因此,無(wú)需根據(jù)每個(gè)控件分別設(shè)置遮罩圖層,操作簡(jiǎn)單,從而提高了控件的渲染效率。 【【專利附圖】
【附圖說(shuō)明】】
[0030] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述 中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí) 施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附 圖獲得其他的附圖。
[0031] 圖1為本發(fā)明一實(shí)施例提供的控件的渲染方法的流程示意圖;
[0032] 圖2A?2F為圖1對(duì)應(yīng)的實(shí)施例中目標(biāo)控件的渲染效果圖;
[0033] 圖3A?3F為圖1對(duì)應(yīng)的實(shí)施例中目標(biāo)控件的渲染效果圖;
[0034] 圖4為本發(fā)明另一實(shí)施例提供的控件的渲染裝置的結(jié)構(gòu)示意圖;
[0035] 圖5為本發(fā)明另一實(shí)施例提供的控件的渲染裝置的結(jié)構(gòu)示意圖。 【【具體實(shí)施方式】】
[0036] 為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的全部其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0037] 需要說(shuō)明的是,本發(fā)明實(shí)施例中所涉及的終端可以包括但不限于手機(jī)、個(gè)人數(shù)字 助理(Personal Digital Assistant, PDA)、無(wú)線手持裝置、無(wú)線上網(wǎng)本、個(gè)人電腦、便攜電 腦、MP3播放器、MP4播放器等。
[0038] 另外,本文中術(shù)語(yǔ)"和/或",僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在 三種關(guān)系,例如,A和/或B,可以表示:?jiǎn)为?dú)存在A,同時(shí)存在A和B,單獨(dú)存在B這三種情 況。另外,本文中字符"/",一般表示前后關(guān)聯(lián)對(duì)象是一種"或"的關(guān)系。
[0039] 圖1為本發(fā)明一實(shí)施例提供的控件的渲染方法的流程示意圖,如圖1所示。
[0040] 101、獲取光標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信息。
[0041] 102、根據(jù)所述經(jīng)過(guò)方向信息,獲得遮罩圖層的渲染方向信息。
[0042] 103、根據(jù)所述渲染方向信息,利用所述遮罩圖層對(duì)所述目標(biāo)控件進(jìn)行渲染。
[0043] 需要說(shuō)明的是,101?103的執(zhí)行主體可以是渲染引擎,可以位于本地的應(yīng)用 (Application,App)中。本實(shí)施例中所涉及的目標(biāo)控件可以是本地的應(yīng)用中界面上的任一 界面元素,本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0044] 可以理解的是,所述應(yīng)用可以是安裝在終端上的應(yīng)用程序(nativeApp),或者還可 以是終端上的瀏覽器的一個(gè)網(wǎng)頁(yè)(webApp),只要能夠?qū)崿F(xiàn)界面渲染,以提供應(yīng)用的用戶界 面的客觀存在形式都可以,本實(shí)施例對(duì)此不進(jìn)行限定。
[0045] 這樣,通過(guò)獲取光標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信息,進(jìn)而根據(jù)所述經(jīng)過(guò)方向信息, 獲得遮罩圖層的渲染方向信息,使得能夠根據(jù)所述渲染方向信息,利用所述遮罩圖層對(duì)所 述目標(biāo)控件進(jìn)行渲染,由于遮罩圖層上沒(méi)有任何指定的圖案,因此,無(wú)需根據(jù)每個(gè)控件分別 設(shè)置遮罩圖層,操作簡(jiǎn)單,從而提高了控件的渲染效率。
[0046] 可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,在101之前,應(yīng)用需要將每個(gè)目標(biāo) 控件的結(jié)構(gòu)信息向渲染引擎進(jìn)行注冊(cè),例如,目標(biāo)控件的標(biāo)識(shí)信息、光標(biāo)對(duì)于目標(biāo)控件的進(jìn) 入方向信息、光標(biāo)對(duì)于目標(biāo)控件的離開(kāi)方向信息和光標(biāo)對(duì)于目標(biāo)控件的狀態(tài)信息等,以由 渲染引擎對(duì)目標(biāo)控件進(jìn)行渲染。
[0047] 可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,在101中,應(yīng)用具體可以利用鉤子 (HOOK)函數(shù),獲取光標(biāo)在界面上的位置信息,進(jìn)而根據(jù)所述位置信息和目標(biāo)控件的位置信 息,獲得光標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信息,并發(fā)送給渲染引擎。
[0048] 具體地,所述經(jīng)過(guò)方向信息可以包括但不限于進(jìn)入方向信息和/或離開(kāi)方向信 息,本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0049] 例如,具體可以根據(jù)光標(biāo)未進(jìn)入目標(biāo)控件之前的最后一個(gè)位置和光標(biāo)進(jìn)入目標(biāo)控 件之后的第一個(gè)位置,進(jìn)行直線判斷,以獲得光標(biāo)進(jìn)入目標(biāo)控件的進(jìn)入方向信息,如從目標(biāo) 控件的左邊進(jìn)入,或者再如從目標(biāo)控件的上邊進(jìn)入。
[0050] 或者,再例如,具體還可以根據(jù)光標(biāo)離開(kāi)目標(biāo)控件之前的最后一個(gè)位置和光標(biāo)離 開(kāi)目標(biāo)控件之后的第一個(gè)位置,進(jìn)行直線判斷,以獲得光標(biāo)離開(kāi)目標(biāo)控件的離開(kāi)方向信息, 如從目標(biāo)控件的右邊離開(kāi),或者再如從目標(biāo)控件的下邊離開(kāi)。
[0051] 可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,在101中,渲染引擎具體可以根據(jù) 采樣周期,獲取光標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信息。具體地,采樣周期到達(dá)時(shí),渲染引擎則 可以遍歷獲取目標(biāo)控件所注冊(cè)的結(jié)構(gòu)信息。
[0052] 可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,在103之前,渲染引擎還可以進(jìn)一 步創(chuàng)建遮罩圖層,進(jìn)而根據(jù)預(yù)先設(shè)置的透明度參數(shù),設(shè)置所述遮罩圖層的透明度,所述透明 度參數(shù)大于〇且小于1。
[0053] 這樣,由于設(shè)置了遮罩圖層的透明度,使其處于非完全透明狀態(tài),因此,在渲染過(guò) 程中,目標(biāo)控件被遮罩圖層覆蓋到的部分即覆蓋部分可以區(qū)別顯示該目標(biāo)控件沒(méi)有覆蓋到 的部分即非覆蓋部分,因此,能夠突出顯示目標(biāo)控件交互的反饋效果。
[0054] 具體地,所述遮罩圖層的尺寸具體可以大于或等于所述目標(biāo)控件的尺寸。這樣,使 得遮罩圖層能夠完全覆蓋目標(biāo)控件。
[0055] 可以理解的是,目標(biāo)控件的尺寸決定了參與渲染的遮罩圖層的尺寸,即遮罩圖層 只有覆蓋在目標(biāo)控件上的部分才是參與渲染的有效圖層,以參與目標(biāo)控件的渲染。
[0056] 可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,在102中,渲染引擎具體可以將所 述經(jīng)過(guò)方向信息,直接作為遮罩圖層的渲染方向信息,或者還可以根據(jù)預(yù)先指定的經(jīng)過(guò)方 向信息與渲染方向信息的映射關(guān)系,獲得與所述經(jīng)過(guò)方向信息對(duì)應(yīng)的渲染方向信息,本實(shí) 施例對(duì)此不進(jìn)行特別限定。
[0057] 可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,在103中,渲染引擎具體可以根據(jù) 所述渲染方向信息和預(yù)先設(shè)置的指定渲染步長(zhǎng),獲得所述遮罩圖層參與渲染的有效圖層。 然后,所述渲染引擎則可以利用所述有效圖層,對(duì)所述目標(biāo)控件進(jìn)行渲染。其中,所述指定 渲染步長(zhǎng)可以為一個(gè)百分比例如20%,或者還可以為一個(gè)絕對(duì)數(shù)值例如,5毫米(mm)等,本 實(shí)施例對(duì)此不進(jìn)行特別限定。
[0058] 具體地,可以存在兩種初始狀態(tài),一種初始狀態(tài)是,遮罩圖層與目標(biāo)控件沒(méi)有重疊 部分即目標(biāo)控件沒(méi)有被遮罩圖層覆蓋;另一種初始狀態(tài)是,遮罩圖層與目標(biāo)控件完全重疊 即目標(biāo)控件全部被遮罩圖層覆蓋。
[0059] 首先,渲染引擎具體可以根據(jù)所述渲染方向信息和預(yù)先設(shè)置的指定渲染步長(zhǎng),確 定遮罩圖層在渲染方向信息所指示的渲染方向上的位移步長(zhǎng)。例如,遮罩圖層在渲染方向 信息所指示的渲染方向上的位移步長(zhǎng)可以為目標(biāo)控件在該渲染方向上的長(zhǎng)度的20%,或 者,再例如,遮罩圖層在渲染方向信息所指示的渲染方向上的位移步長(zhǎng)可以為5毫米(mm) 等,本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0060] 然后,所述渲染引擎根據(jù)所確定的遮罩圖層在渲染方向信息所指示的渲染方向上 的位移步長(zhǎng),獲得所述遮罩圖層參與渲染的有效圖層。
[0061] 最后,所述渲染引擎則可以根據(jù)所確定的位移步長(zhǎng),確定所述遮罩圖層在渲染方 向信息所指示的渲染方向上的渲染長(zhǎng)度,進(jìn)而根據(jù)該渲染長(zhǎng)度,獲得所述遮罩圖層參與渲 染的有效圖層。
[0062] 例如,對(duì)于初始狀態(tài)是,遮罩圖層與目標(biāo)控件沒(méi)有重疊部分即目標(biāo)控件沒(méi)有被遮 罩圖層覆蓋,如圖2A所示。那么,在執(zhí)行103的過(guò)程中,根據(jù)預(yù)先設(shè)置的指定渲染步長(zhǎng)d,依 次對(duì)目標(biāo)控件進(jìn)行渲染的渲染效果圖分別可以如圖2B?2F所示。其中,圖中的陰影表示 遮罩圖層;圖中的雙向箭頭指示的是渲染長(zhǎng)度。圖2B中,渲染長(zhǎng)度為d ;圖2C中,渲染長(zhǎng)度 為2d ;圖2D中,渲染長(zhǎng)度為3d ;圖2E中,渲染長(zhǎng)度為4d ;圖2F中,渲染長(zhǎng)度為5d。d的取 值具體可以根據(jù)目標(biāo)控件在渲染方向信息所指示的渲染方向上長(zhǎng)度進(jìn)行設(shè)置,盡量使得遮 罩圖層在渲染引擎執(zhí)行最后一次渲染操作時(shí),完全覆蓋目標(biāo)控件。
[0063] 或者,再例如,對(duì)于初始狀態(tài)是,遮罩圖層與目標(biāo)控件完全重疊即目標(biāo)控件全部被 遮罩圖層覆蓋,如圖3A所示。那么,在執(zhí)行103的過(guò)程中,根據(jù)預(yù)先設(shè)置的指定渲染步長(zhǎng)d, 依次對(duì)目標(biāo)控件進(jìn)行渲染的渲染效果圖分別可以如圖3B?3F所示。其中,圖中的陰影表 示遮罩圖層;圖中的雙向箭頭指示的是渲染長(zhǎng)度。圖3B中,渲染長(zhǎng)度為d ;圖3C中,渲染長(zhǎng) 度為2d ;圖3D中,渲染長(zhǎng)度為3d ;圖3E中,渲染長(zhǎng)度為4d ;圖3F中,渲染長(zhǎng)度為5d。d的 取值具體可以根據(jù)目標(biāo)控件在渲染方向信息所指示的渲染方向上長(zhǎng)度進(jìn)行設(shè)置,盡量使得 遮罩圖層在渲染引擎執(zhí)行最后一次渲染操作時(shí),完全離開(kāi)目標(biāo)控件。
[0064] 本實(shí)施例中,通過(guò)獲取光標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信息,進(jìn)而根據(jù)所述經(jīng)過(guò)方 向信息,獲得遮罩圖層的渲染方向信息,使得能夠根據(jù)所述渲染方向信息,利用所述遮罩圖 層對(duì)所述目標(biāo)控件進(jìn)行渲染,由于遮罩圖層上沒(méi)有任何指定的圖案,因此,無(wú)需根據(jù)每個(gè)控 件分別設(shè)置遮罩圖層,操作簡(jiǎn)單,從而提高了控件的渲染效率。
[0065] 需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列 的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)?依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知 悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明 所必須的。
[0066] 在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部 分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
[0067]圖4為本發(fā)明另一實(shí)施例提供的控件的渲染裝置的結(jié)構(gòu)示意圖,如圖4所示。本 實(shí)施例的控件的渲染裝置可以包括獲取單元41、策略單元42和渲染單元43。其中,獲取單 元41,用于獲取光標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信息;策略單元42,用于根據(jù)所述經(jīng)過(guò)方向 信息,獲得遮罩圖層的渲染方向信息;渲染單元43,用于根據(jù)所述渲染方向信息,利用所述 遮罩圖層對(duì)所述目標(biāo)控件進(jìn)行渲染。
[0068] 需要說(shuō)明的是,本實(shí)施例所提供的控件的渲染裝置可以是渲染引擎,可以位于本 地的應(yīng)用(Application,App)中。本實(shí)施例中所涉及的目標(biāo)控件可以是本地的應(yīng)用中界面 上的任一界面元素,本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0069] 可以理解的是,所述應(yīng)用可以是安裝在終端上的應(yīng)用程序(nativeApp),或者還可 以是終端上的瀏覽器的一個(gè)網(wǎng)頁(yè)(webApp),只要能夠?qū)崿F(xiàn)界面渲染,以提供應(yīng)用的用戶界 面的客觀存在形式都可以,本實(shí)施例對(duì)此不進(jìn)行限定。
[0070] 這樣,通過(guò)獲取單元獲取光標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信息,進(jìn)而由策略單元根 據(jù)所述經(jīng)過(guò)方向信息,獲得遮罩圖層的渲染方向信息,使得渲染單元能夠根據(jù)所述渲染方 向信息,利用所述遮罩圖層對(duì)所述目標(biāo)控件進(jìn)行渲染,由于遮罩圖層上沒(méi)有任何指定的圖 案,因此,無(wú)需根據(jù)每個(gè)控件分別設(shè)置遮罩圖層,操作簡(jiǎn)單,從而提高了控件的渲染效率。
[0071] 可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,應(yīng)用需要將每個(gè)目標(biāo)控件的結(jié)構(gòu) 信息向控件的渲染裝置進(jìn)行注冊(cè),例如,目標(biāo)控件的標(biāo)識(shí)信息、光標(biāo)對(duì)于目標(biāo)控件的進(jìn)入方 向信息、光標(biāo)對(duì)于目標(biāo)控件的離開(kāi)方向信息和光標(biāo)對(duì)于目標(biāo)控件的狀態(tài)信息等,以由控件 的渲染裝置對(duì)目標(biāo)控件進(jìn)行渲染。
[0072] 可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,應(yīng)用具體可以利用鉤子(HOOK)函 數(shù),獲取光標(biāo)在界面上的位置信息,進(jìn)而根據(jù)所述位置信息和目標(biāo)控件的位置信息,獲得光 標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信息,并發(fā)送給控件的渲染裝置。
[0073] 具體地,所述經(jīng)過(guò)方向信息可以包括但不限于進(jìn)入方向信息和/或離開(kāi)方向信 息,本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0074] 例如,具體可以根據(jù)光標(biāo)未進(jìn)入目標(biāo)控件之前的最后一個(gè)位置和光標(biāo)進(jìn)入目標(biāo)控 件之后的第一個(gè)位置,進(jìn)行直線判斷,以獲得光標(biāo)進(jìn)入目標(biāo)控件的進(jìn)入方向信息,如從目標(biāo) 控件的左邊進(jìn)入,或者再如從目標(biāo)控件的上邊進(jìn)入。
[0075] 或者,再例如,具體還可以根據(jù)光標(biāo)離開(kāi)目標(biāo)控件之前的最后一個(gè)位置和光標(biāo)離 開(kāi)目標(biāo)控件之后的第一個(gè)位置,進(jìn)行直線判斷,以獲得光標(biāo)離開(kāi)目標(biāo)控件的離開(kāi)方向信息, 如從目標(biāo)控件的右邊離開(kāi),或者再如從目標(biāo)控件的下邊離開(kāi)。
[0076] 可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,所述獲取單元41具體可以根據(jù)采 樣周期,獲取光標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信息。具體地,采樣周期到達(dá)時(shí),所述獲取單元 41則可以遍歷獲取目標(biāo)控件所注冊(cè)的結(jié)構(gòu)信息。
[0077] 可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,如圖5所示,本實(shí)施例提供的控件 的渲染裝置還可以進(jìn)一步包括創(chuàng)建單元51,用于創(chuàng)建遮罩圖層;以及根據(jù)預(yù)先設(shè)置的透明 度參數(shù),設(shè)置所述遮罩圖層的透明度,所述透明度參數(shù)大于〇且小于1。
[0078] 這樣,由于設(shè)置了遮罩圖層的透明度,使其處于非完全透明狀態(tài),因此,在渲染過(guò) 程中,目標(biāo)控件被遮罩圖層覆蓋到的部分即覆蓋部分可以區(qū)別顯示該目標(biāo)控件沒(méi)有覆蓋到 的部分即非覆蓋部分,因此,能夠突出顯示目標(biāo)控件交互的反饋效果。
[0079] 具體地,所述遮罩圖層的尺寸具體可以大于或等于所述目標(biāo)控件的尺寸。這樣,使 得遮罩圖層能夠完全覆蓋目標(biāo)控件。
[0080] 可以理解的是,目標(biāo)控件的尺寸決定了參與渲染的遮罩圖層的尺寸,即遮罩圖層 只有覆蓋在目標(biāo)控件上的部分才是參與渲染的有效圖層,以參與目標(biāo)控件的渲染。
[0081] 可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,所述策略單元42,具體可以將所述 經(jīng)過(guò)方向信息,直接作為遮罩圖層的渲染方向信息,或者還可以根據(jù)預(yù)先指定的經(jīng)過(guò)方向 信息與渲染方向信息的映射關(guān)系,獲得與所述經(jīng)過(guò)方向信息對(duì)應(yīng)的渲染方向信息,本實(shí)施 例對(duì)此不進(jìn)行特別限定。
[0082] 可選地,在本實(shí)施例的一個(gè)可能的實(shí)現(xiàn)方式中,所述渲染單元43,具體可以用于 根據(jù)所述渲染方向信息和預(yù)先設(shè)置的指定渲染步長(zhǎng),獲得所述遮罩圖層參與渲染的有效圖 層;以及利用所述有效圖層,對(duì)所述目標(biāo)控件進(jìn)行渲染。其中,所述指定渲染步長(zhǎng)可以為一 個(gè)百分比例如20%,或者還可以為一個(gè)絕對(duì)數(shù)值例如,5毫米(mm)等,本實(shí)施例對(duì)此不進(jìn)行 特別限定。
[0083] 具體地,可以存在兩種初始狀態(tài),一種初始狀態(tài)是,遮罩圖層與目標(biāo)控件沒(méi)有重疊 部分即目標(biāo)控件沒(méi)有被遮罩圖層覆蓋;另一種初始狀態(tài)是,遮罩圖層與目標(biāo)控件完全重疊 即目標(biāo)控件全部被遮罩圖層覆蓋。
[0084] 首先,所述渲染單元43具體可以根據(jù)所述渲染方向信息和預(yù)先設(shè)置的指定渲染 步長(zhǎng),確定遮罩圖層在渲染方向信息所指示的渲染方向上的位移步長(zhǎng)。例如,遮罩圖層在 渲染方向信息所指示的渲染方向上的位移步長(zhǎng)可以為目標(biāo)控件在該渲染方向上的長(zhǎng)度的 20%,或者,再例如,遮罩圖層在渲染方向信息所指示的渲染方向上的位移步長(zhǎng)可以為5毫 米(mm)等,本實(shí)施例對(duì)此不進(jìn)行特別限定。
[0085] 然后,所述渲染單元43根據(jù)所確定的遮罩圖層在渲染方向信息所指示的渲染方 向上的位移步長(zhǎng),獲得所述遮罩圖層參與渲染的有效圖層。
[0086] 最后,所述渲染單元43則可以根據(jù)所確定的位移步長(zhǎng),確定所述遮罩圖層在渲染 方向信息所指示的渲染方向上的渲染長(zhǎng)度,進(jìn)而根據(jù)該渲染長(zhǎng)度,獲得所述遮罩圖層參與 渲染的有效圖層。
[0087] 例如,對(duì)于初始狀態(tài)是,遮罩圖層與目標(biāo)控件沒(méi)有重疊部分即目標(biāo)控件沒(méi)有被遮 罩圖層覆蓋,如圖2A所示。那么,在所述渲染單元43執(zhí)行對(duì)應(yīng)操作的過(guò)程中,根據(jù)預(yù)先設(shè) 置的指定渲染步長(zhǎng)d,依次對(duì)目標(biāo)控件進(jìn)行渲染的渲染效果圖分別可以如圖2B?2F所示。 其中,圖中的陰影表示遮罩圖層;圖中的雙向箭頭指示的是渲染長(zhǎng)度。圖2B中,渲染長(zhǎng)度為 d ;圖2C中,渲染長(zhǎng)度為2d ;圖2D中,渲染長(zhǎng)度為3d ;圖2E中,渲染長(zhǎng)度為4d ;圖2F中,渲 染長(zhǎng)度為5d。d的取值具體可以根據(jù)目標(biāo)控件在渲染方向信息所指示的渲染方向上長(zhǎng)度進(jìn) 行設(shè)置,盡量使得遮罩圖層在所述渲染單元43執(zhí)行最后一次渲染操作時(shí),完全覆蓋目標(biāo)控 件。
[0088] 或者,再例如,對(duì)于初始狀態(tài)是,遮罩圖層與目標(biāo)控件完全重疊即目標(biāo)控件全部被 遮罩圖層覆蓋,如圖3A所示。那么,在所述渲染單元43執(zhí)行對(duì)應(yīng)操作的過(guò)程中,根據(jù)預(yù)先設(shè) 置的指定渲染步長(zhǎng)d,依次對(duì)目標(biāo)控件進(jìn)行渲染的渲染效果圖分別可以如圖3B?3F所示。 其中,圖中的陰影表示遮罩圖層;圖中的雙向箭頭指示的是渲染長(zhǎng)度。圖3B中,渲染長(zhǎng)度為 d ;圖3C中,渲染長(zhǎng)度為2d ;圖3D中,渲染長(zhǎng)度為3d ;圖3E中,渲染長(zhǎng)度為4d ;圖3F中,渲 染長(zhǎng)度為5d。d的取值具體可以根據(jù)目標(biāo)控件在渲染方向信息所指示的渲染方向上長(zhǎng)度進(jìn) 行設(shè)置,盡量使得遮罩圖層在所述渲染單元43執(zhí)行最后一次渲染操作時(shí),完全離開(kāi)目標(biāo)控 件。
[0089] 本實(shí)施例中,通過(guò)獲取單元獲取光標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信息,進(jìn)而由策略 單元根據(jù)所述經(jīng)過(guò)方向信息,獲得遮罩圖層的渲染方向信息,使得渲染單元能夠根據(jù)所述 渲染方向信息,利用所述遮罩圖層對(duì)所述目標(biāo)控件進(jìn)行渲染,由于遮罩圖層上沒(méi)有任何指 定的圖案,因此,無(wú)需根據(jù)每個(gè)控件分別設(shè)置遮罩圖層,操作簡(jiǎn)單,從而提高了控件的渲染 效率。
[0090] 所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng), 裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。
[0091] 在本發(fā)明所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng),裝置和方法,可以 通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的 劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件 可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或 討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦 合或通信連接,可以是電性,機(jī)械或其它的形式。
[0092] 所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯 示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè) 網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目 的。
[0093] 另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以 是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單 元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
[0094] 上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存 儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算 機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā) 明各個(gè)實(shí)施例所述方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器 (Read-Only Memory, ROM)、隨機(jī)存取存儲(chǔ)器(Random Access Memory, RAM)、磁碟或者光盤(pán) 等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0095] 最后應(yīng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管 參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可 以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換; 而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和 范圍。
【權(quán)利要求】
1. 一種控件的渲染方法,其特征在于,包括: 獲取光標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信息; 根據(jù)所述經(jīng)過(guò)方向信息,獲得遮罩圖層的渲染方向信息; 根據(jù)所述渲染方向信息,利用所述遮罩圖層對(duì)所述目標(biāo)控件進(jìn)行渲染。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述經(jīng)過(guò)方向信息包括進(jìn)入方向信息和/ 或離開(kāi)方向信息。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述渲染方向信息,利用所述遮 罩圖層對(duì)所述目標(biāo)控件進(jìn)行渲染之前,還包括: 創(chuàng)建遮罩圖層; 根據(jù)預(yù)先設(shè)置的透明度參數(shù),設(shè)置所述遮罩圖層的透明度,所述透明度參數(shù)大于〇且 小于1。
4. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述遮罩圖層的尺寸大于或等于所述目 標(biāo)控件的尺寸。
5. 根據(jù)權(quán)利要求1?4任一權(quán)利要求所述的方法,其特征在于,所述根據(jù)所述渲染方向 信息,利用所述遮罩圖層對(duì)所述目標(biāo)控件進(jìn)行渲染,包括: 根據(jù)所述渲染方向信息和預(yù)先設(shè)置的指定渲染步長(zhǎng),獲得所述遮罩圖層參與渲染的有 效圖層; 利用所述有效圖層,對(duì)所述目標(biāo)控件進(jìn)行渲染。
6. -種控件的渲染裝置,其特征在于,包括: 獲取單元,用于獲取光標(biāo)經(jīng)過(guò)目標(biāo)控件的經(jīng)過(guò)方向信息; 策略單元,用于根據(jù)所述經(jīng)過(guò)方向信息,獲得遮罩圖層的渲染方向信息; 渲染單元,用于根據(jù)所述渲染方向信息,利用所述遮罩圖層對(duì)所述目標(biāo)控件進(jìn)行渲染。
7. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述經(jīng)過(guò)方向信息包括進(jìn)入方向信息和/ 或離開(kāi)方向信息。
8. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括創(chuàng)建單元,用于 創(chuàng)建遮罩圖層;以及 根據(jù)預(yù)先設(shè)置的透明度參數(shù),設(shè)置所述遮罩圖層的透明度,所述透明度參數(shù)大于〇且 小于1。
9. 根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述遮罩圖層的尺寸大于或等于所述目 標(biāo)控件的尺寸。
10. 根據(jù)權(quán)利要求6?9任一權(quán)利要求所述的裝置,其特征在于,所述渲染單元,具體用 于 根據(jù)所述渲染方向信息和預(yù)先設(shè)置的指定渲染步長(zhǎng),獲得所述遮罩圖層參與渲染的有 效圖層;以及 利用所述有效圖層,對(duì)所述目標(biāo)控件進(jìn)行渲染。
【文檔編號(hào)】G06F3/0481GK104216711SQ201410440679
【公開(kāi)日】2014年12月17日 申請(qǐng)日期:2014年9月1日 優(yōu)先權(quán)日:2014年9月1日
【發(fā)明者】易善鴻, 傅千代, 唐瀚 申請(qǐng)人:安一恒通(北京)科技有限公司