日韩成人黄色,透逼一级毛片,狠狠躁天天躁中文字幕,久久久久久亚洲精品不卡,在线看国产美女毛片2019,黄片www.www,一级黄色毛a视频直播

文稿編輯工具中元素層級的管理方法及裝置與流程

文檔序號:11145143閱讀:280來源:國知局
文稿編輯工具中元素層級的管理方法及裝置與制造工藝

本發(fā)明實(shí)施例涉及計(jì)算機(jī)應(yīng)用技術(shù)領(lǐng)域,尤其涉及文稿編輯工具中元素層級的管理方法及裝置。



背景技術(shù):

文稿編輯工具如微軟公司的演示文稿軟件(PowerPoint,PPT),是一款人們工作和學(xué)習(xí)中經(jīng)常用到的辦公軟件,用戶基于文稿編輯工具可進(jìn)行文稿編輯,并可將編輯的內(nèi)容展示給他人。在目前流行的智能教學(xué)白板中,也安裝有類似的文稿編輯工具,能夠供教學(xué)者對教學(xué)內(nèi)容進(jìn)行編輯和展示。

一般地,可將文稿編輯工具中進(jìn)行編輯的最小單位稱為畫布(如PPT中一個(gè)可編輯的幻燈片頁面),還可將畫布內(nèi)能夠隨意移動和編輯的單個(gè)對象(如單個(gè)的文本框、圖片、表格以及視頻等)稱之為元素。在進(jìn)行文稿編輯時(shí),如果畫布中存在多個(gè)元素,則文稿編輯工具就需要考慮先顯示哪個(gè)元素,再顯示哪個(gè)元素,從而涉及到元素的層級管理。

傳統(tǒng)的層級管理方法,考慮為畫布中的元素設(shè)置一個(gè)整數(shù)型的層級編號,如,當(dāng)元素1添加至畫布中時(shí),初始設(shè)置其層級編號為1,同樣,可以將畫布中元素2、元素3以及元素4的編號初始設(shè)置層級編號分別為2、3和4,并對各元素的層級編號進(jìn)行記錄,由此當(dāng)畫布上元素的放置位置重疊時(shí),可直接根據(jù)各元素的層級編號與渲染框架進(jìn)行交互,實(shí)現(xiàn)元素的層次渲染。該方法的缺陷在于,人為改變或編輯工具主動改變一個(gè)或多個(gè)元素在畫布中的顯示層次時(shí),為了保證對畫布中元素層次渲染時(shí)不發(fā)生錯誤,需要對畫布中所有元素的層級編號進(jìn)行更新并重新記錄,由此增大了文稿編輯工具對CPU及內(nèi)存資源的消耗。

另一種常用的層級管理方法,考慮為畫布中的元素設(shè)置一個(gè)浮點(diǎn)型的層級編號,該層級管理方法可描述為:在畫布中元素1、元素2、元素3以及元素4當(dāng)前的層級編號分別為1、2、3和4時(shí),如果對元素4的顯示層次進(jìn)行了調(diào)整,如將元素4置于元素1和元素2之間,則無需變更其他元素的層次編號,只需將元素4的層次編號調(diào)整為1~2之間的一個(gè)小數(shù)值,如1.5即可。該方法盡管降低了CPU及內(nèi)存資源的消耗,卻也存在一定的缺陷:即,其層次編號不能直接與渲染框架信息交互,在按層級對元素渲染前,需要強(qiáng)制刷新各元素在畫布UI界面上的顯示,否則渲染出的元素層次效果將與用戶期望的存在效果差別,降低文稿編輯工具的用戶體驗(yàn)。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例提供了文稿編輯工具中元素層級的管理方法及裝置,能夠在合理消耗CPU和內(nèi)存資源的前提下,保證畫布中各元素的層級值一直都與畫布UI界面視覺上呈現(xiàn)的層次渲染保持一致。

一方面,本發(fā)明實(shí)施例提供了一種文稿編輯工具中元素層級的管理方法,包括:

在監(jiān)測到對文稿編輯工具畫布中的至少一個(gè)元素進(jìn)行層級變更操作時(shí),根據(jù)所述層級變更操作修改所述至少一個(gè)元素的浮點(diǎn)型的層級屬性值;

如果監(jiān)測到所述畫布中至少一個(gè)元素的層級屬性值被修改,則將設(shè)定標(biāo)記位的值確定為第一標(biāo)記值;

當(dāng)確定所述畫布當(dāng)前處于空閑狀態(tài)且檢測到所述設(shè)定標(biāo)記位的值為第一標(biāo)記值時(shí),根據(jù)所述畫布中各元素當(dāng)前的層級屬性值的排序確認(rèn)各元素的顯示屬性值;

根據(jù)各元素的顯示屬性值,刷新所述畫布中各元素的層級渲染。

另一方面,本發(fā)明實(shí)施例提供了一種文稿編輯工具中元素層級的管理裝置,包括:

層級值修改模塊,用于在監(jiān)測到對文稿編輯工具畫布中的至少一個(gè)元素進(jìn)行層級變更操作時(shí),根據(jù)所述層級變更操作修改所述至少一個(gè)元素的浮點(diǎn)型的層級屬性值;

第一標(biāo)記模塊,用于當(dāng)監(jiān)測到所述畫布中至少一個(gè)元素的層級屬性值被修改時(shí),將設(shè)定標(biāo)記位的值確定為第一標(biāo)記值;

顯示值確定模塊,用于當(dāng)確定所述畫布當(dāng)前處于空閑狀態(tài)且檢測到所述設(shè)定標(biāo)記位的值為第一標(biāo)記值時(shí),根據(jù)所述畫布中各元素當(dāng)前的層級屬性值的排序確認(rèn)各元素的顯示屬性值;

元素層級渲染模塊,用于根據(jù)各元素的顯示屬性值,刷新所述畫布中各元素的層級渲染。

本發(fā)明實(shí)施例中提供了文稿編輯工具中元素層級的管理方法及裝置,該方法首先在監(jiān)測到對文稿編輯工具畫布中的至少一個(gè)元素進(jìn)行層級變更操作時(shí),根據(jù)層級變更操作修改至少一個(gè)元素的浮點(diǎn)型的層級屬性值;然后當(dāng)監(jiān)測到畫布中至少一個(gè)元素的層級屬性值被修改時(shí),則將設(shè)定標(biāo)記位的值確定為第一標(biāo)記值;之后當(dāng)確定畫布當(dāng)前處于空閑狀態(tài)且檢測到設(shè)定標(biāo)記位的值為第一標(biāo)記值時(shí),根據(jù)畫布中各元素當(dāng)前的層級屬性值的排序確認(rèn)各元素的顯示屬性值;最終根據(jù)各元素的顯示屬性值,刷新畫布中各元素的層級渲染。利用該方法,在元素發(fā)生層次變更操作時(shí),無需更新全部元素的層級值,也無需強(qiáng)制進(jìn)行層級刷新,就能夠保證畫布中各元素的層級值一直都與畫布UI界面視覺上呈現(xiàn)的層次渲染保持一致,有效降低了層級管理時(shí)CPU和內(nèi)存資源的占用率以及層級渲染的錯誤率,很大程度提高了文稿編輯工具開發(fā)層面的便捷性。

附圖說明

圖1為本發(fā)明實(shí)施例一提供的一種文稿編輯工具中元素層級的管理方法的流程示意圖;

圖2為本發(fā)明實(shí)施例二提供的一種文稿編輯工具中元素層級的管理方法的流程示意圖;

圖3為本發(fā)明實(shí)施例三提供的一種文稿編輯工具中元素層級的管理方法的流程示意圖;

圖4為本發(fā)明實(shí)施例四提供的一種文稿編輯工具中元素層級的管理裝置的結(jié)構(gòu)框圖。

具體實(shí)施方式

下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。

實(shí)施例一

圖1為本發(fā)明實(shí)施例一提供的一種文稿編輯工具中元素層級的管理方法的流程示意圖,該方法適用于基于文稿編輯工具編輯文稿過程中對畫布中元素的層級和顯示進(jìn)行管理的情況,該方法可以由文稿編輯工具中元素層級的管理裝置執(zhí)行,其中該裝置可由軟件和/或硬件實(shí)現(xiàn),并一般集成在文稿編輯工具中。

如圖1所示,本發(fā)明實(shí)施例一提供的一種文稿編輯工具中元素層級的管理方法,包括如下操作:

S101、在監(jiān)測到對文稿編輯工具畫布中的至少一個(gè)元素進(jìn)行層級變更操作時(shí),根據(jù)層級變更操作修改所述至少一個(gè)元素的浮點(diǎn)型的層級屬性值。

本實(shí)施例中的畫布具體可理解為文稿編輯工具中進(jìn)行文稿編輯的最小單位;本實(shí)施例可通過在畫布中創(chuàng)建新元素或插入其他來源的元素實(shí)現(xiàn)文稿編輯,本實(shí)施例畫布中的元素可以是但不限定為文本框(用于文本編輯)、圖片、視頻以及表格等。在文稿編輯過程中,如果用戶或文稿編輯工具自身進(jìn)行了影響元素層級的操作,則相當(dāng)于對元素進(jìn)行了層級變更操作,本實(shí)施例在監(jiān)測到對元素進(jìn)行了的層級變更操作后,可以根據(jù)對元素具體進(jìn)行層級變更操作修改元素的層級屬性值。

本實(shí)施例中,元素的層級變更操作可以是但不限定為在畫布中將一個(gè)或多個(gè)元素上移一層、下移一層、置于頂層、置于底層,以及設(shè)置到任意兩個(gè)元素之間等;因此,用戶或文稿編輯工具自身進(jìn)行了上述任一項(xiàng)操作時(shí),就可基于本步驟對發(fā)生層級變更的元素的層級屬性值進(jìn)行修改,其中,層級屬性值具體可用于標(biāo)記元素在畫布中所屬的具體層級,為了便于元素層級屬性值的修改,本實(shí)施例將元素的層級屬性值優(yōu)選地設(shè)定為浮點(diǎn)型數(shù)據(jù)。

S102、如果監(jiān)測到畫布中至少一個(gè)元素的層級屬性值被修改,則將設(shè)定標(biāo)記位的值確定為第一標(biāo)記值。

一般地,在對元素的層級屬性值進(jìn)行修改后,需要對元素的層級渲染進(jìn)行刷新,以使元素在畫面界面上渲染出的層級與元素當(dāng)前的層級屬性值保持一致。但是如果元素的層級屬性值進(jìn)行一次修改后立即刷新元素的層級渲染,將很大程度的增加文稿編輯過程中對系統(tǒng)資源的占用,同時(shí)也不利于文稿編輯中的其他操作。

本實(shí)施例在監(jiān)測到畫布中元素的層級屬性值被修改時(shí),并不立即刷新元素的層級渲染,而是將設(shè)定標(biāo)記位的值確定為第一標(biāo)記值,以用于提示文稿編輯工具其畫布中存在待刷新層級渲染的元素。

其中,本實(shí)施例中的設(shè)定標(biāo)記位主要用于判定是否存在待刷新的層級渲染的元素,且該設(shè)定標(biāo)記位一般設(shè)置在系統(tǒng)內(nèi)存中,本實(shí)施例通過將設(shè)定標(biāo)記位確定為第一標(biāo)記值,來標(biāo)識存在需要刷新層級渲染的元素。

S103、當(dāng)確定畫布當(dāng)前處于空閑狀態(tài)且檢測到設(shè)定標(biāo)記位的值為第一標(biāo)記值時(shí),根據(jù)畫布中各元素當(dāng)前的層級屬性值的排序確認(rèn)各元素的顯示屬性值。

在實(shí)現(xiàn)步驟S102后,對元素的層級渲染進(jìn)行刷新時(shí),除了要滿足設(shè)定標(biāo)記位的值為第一標(biāo)記值,還需要滿足畫布當(dāng)前處于空閑狀態(tài)的條件。其中,本實(shí)施例中畫布處于空閑狀態(tài),具體可理解為用戶當(dāng)前沒有在畫布中進(jìn)行編輯操作,或者系統(tǒng)當(dāng)前沒有對畫布中的元素進(jìn)行處理操作??梢岳斫獾氖?,當(dāng)畫布處理空閑狀態(tài)時(shí),系統(tǒng)的資源占用率相對降低,此時(shí),可以啟動元素的層級渲染刷新操作。

需要說明的是,刷新元素的層級渲染時(shí),需要元素與渲染框架進(jìn)行信息交互,而信息交互時(shí)渲染框架需要得知元素當(dāng)前具體所在的層級,一般的,元素當(dāng)前具體所在的層級可以通過層級屬性值體現(xiàn),但由于元素的層級屬性值為浮點(diǎn)型數(shù)據(jù),而渲染框架無法正常識別浮點(diǎn)型數(shù)據(jù)。

由此,本實(shí)施例考慮為元素設(shè)置另外一個(gè)整數(shù)型的顯示屬性,以使元素能夠基于該整數(shù)型的顯示屬性與渲染框架進(jìn)行信息交互,實(shí)現(xiàn)元素層級渲染的正常刷新。本步驟首先考慮根據(jù)元素當(dāng)前的層級屬性值,確定元素當(dāng)前的顯示屬性值。

本步驟中元素的顯示屬性值的確定過程具體可描述為:對畫布中的各元素根據(jù)各自當(dāng)前的層級屬性值排序,根據(jù)排序結(jié)果確定各元素當(dāng)前層級對應(yīng)的整數(shù)值,最后可將各元素對應(yīng)的整數(shù)值確定為各自的顯示屬性值。

S104、根據(jù)各元素的顯示屬性值,刷新畫布中各元素的層級渲染。

本實(shí)施中在確定各元素的顯示屬性值后,可通過各元素對應(yīng)的顯示屬性值與渲染框架進(jìn)行信息交互,最終實(shí)現(xiàn)對畫布中各元素的層級渲染進(jìn)行刷新。

本發(fā)明實(shí)施例一提供的一種文稿編輯工具中元素層級的管理方法,首先在監(jiān)測到對文稿編輯工具畫布中的至少一個(gè)元素進(jìn)行層級變更操作時(shí),根據(jù)層級變更操作修改至少一個(gè)元素的浮點(diǎn)型的層級屬性值;然后當(dāng)監(jiān)測到畫布中至少一個(gè)元素的層級屬性值被修改時(shí),則將設(shè)定標(biāo)記位的值確定為第一標(biāo)記值;之后當(dāng)確定畫布當(dāng)前處于空閑狀態(tài)且檢測到設(shè)定標(biāo)記位的值為第一標(biāo)記值時(shí),根據(jù)畫布中各元素當(dāng)前的層級屬性值的排序確認(rèn)各元素的顯示屬性值;最終根據(jù)各元素的顯示屬性值,刷新畫布中各元素的層級渲染。利用該方法,在元素發(fā)生層次變更操作時(shí),無需更新全部元素的層級值,也無需強(qiáng)制進(jìn)行層級刷新,就能夠保證畫布中各元素的層級值一直都與畫布UI界面視覺上呈現(xiàn)的層次渲染保持一致,有效降低了層級管理時(shí)CPU和內(nèi)存資源的占用率以及層級渲染的錯誤率,很大程度提高了文稿編輯工具開發(fā)層面的便捷性。

實(shí)施例二

圖2為本發(fā)明實(shí)施例二提供的一種文稿編輯工具中元素層級的管理方法的流程示意圖。本發(fā)明實(shí)施例以上述實(shí)施例為基礎(chǔ)進(jìn)行優(yōu)化,在本實(shí)施例中,將所述層級變更操作,進(jìn)一步優(yōu)化包括了:將元素置于底層、將元素置于頂層以及將元素置于層級相鄰的兩其他元素之間。相應(yīng)的,還可將“根據(jù)所述層級變更操作修改所述至少一個(gè)元素的層級屬性值”,進(jìn)一步具體化為:確定所述至少一個(gè)元素對應(yīng)的層級更新操作;如果所述層級更新操作為將所述至少一個(gè)元素置于底層,則確定所述畫布中當(dāng)前的最小層級屬性值,在小于所述最小層級屬性值范圍內(nèi)選取至少一個(gè)正數(shù)對應(yīng)作為所述至少一個(gè)元素的層級屬性值;如果所述層級更新操作為將所述至少一個(gè)元素置于頂層,則確定所述畫布中當(dāng)前的最大層級屬性值,則在所述最大層級屬性值上依次加1對應(yīng)作為所述至少一個(gè)元素的層級屬性值;如果所述層級更新操作為將所述至少一個(gè)元素置于層級相鄰的兩其他元素之間,則確定與所述兩其他元素對應(yīng)的兩層級屬性值,在所述兩層級屬性值之間的范圍內(nèi)選取至少一個(gè)數(shù)值對應(yīng)作為所述至少一個(gè)元素的層級屬性值。

此外,還進(jìn)一步將“根據(jù)所述畫布中各元素當(dāng)前的層級屬性值的排序確認(rèn)各元素的顯示屬性值”具體化為:根據(jù)所述畫布中各元素當(dāng)前的層級屬性值,由小到大對各元素排序,并從設(shè)定整數(shù)值開始對各元素進(jìn)行編號;確定排序后各元素對應(yīng)的整數(shù)編號,將各元素的整數(shù)編號確定為各元素的顯示屬性值。

如圖2所示,本發(fā)明實(shí)施例二提供的一種文稿編輯工具中元素層級的管理方法,具體包括如下操作:

在本實(shí)施例中,步驟S201~步驟S204對應(yīng)于上述實(shí)施例一步驟S101,具體闡述了對畫布中層級變更的元素的層級屬性值進(jìn)行修改的過程。

S201、在監(jiān)測到對文稿編輯工具畫布中的至少一個(gè)元素進(jìn)行層級變更操作時(shí),確定上述至少一個(gè)元素對應(yīng)的層級更新操作。

示例性地,當(dāng)監(jiān)測到用戶或文稿編輯工具自身對畫布中的元素進(jìn)行了層級變更操作時(shí),就可確定出對上述元素具體進(jìn)行了哪種層級更新操作,后續(xù)可根據(jù)元素具體對應(yīng)的層級變更操作,相應(yīng)的對元素的層級屬性值進(jìn)行修改。本實(shí)施例中的層級更新操作優(yōu)選地包括了將元素置于底層,將元素置于頂層,以及將元素置于層級相鄰兩其他元素之間,其中,本實(shí)施將元素置于下一層以及置于上一層均看作將將元素置于層級相鄰兩其他元素之間。

S202、如果層級更新操作為將所述至少一個(gè)元素置于底層,則確定畫布中當(dāng)前的最小層級屬性值,在小于最小層級屬性值范圍內(nèi)選取至少一個(gè)正數(shù)對應(yīng)作為至少一個(gè)元素的層級屬性值。

示例性地,如果確定到將一個(gè)或多個(gè)元素置于底層,可基于本步驟修改上述一個(gè)或多個(gè)元素的層級屬性值。

一般地,如果同時(shí)將多個(gè)元素置于底層,則在確定出最小層級屬性值之后,需要在小于最小層級屬性值的范圍內(nèi)選取多個(gè)正數(shù)值,其中,所選取的正數(shù)值個(gè)數(shù)與發(fā)生層級變更操作的元素個(gè)數(shù)相同,然后,可將選取的多個(gè)正數(shù)值對應(yīng)作為多個(gè)元素的層級屬性值。需要說明的是,在將多個(gè)正數(shù)值對應(yīng)作為多個(gè)元素當(dāng)前的層級屬性值后,需要保持多個(gè)元素之間的層級順序不變,即,多個(gè)元素同時(shí)置于底層時(shí),其置于底層后多個(gè)元素之間仍保持原有的層級順序。

S203、如果層級更新操作為將至少一個(gè)元素置于頂層,則確定畫布中當(dāng)前的最大層級屬性值,則在最大層級屬性值上依次加1對應(yīng)作為至少一個(gè)元素的層級屬性值。

示例性地,如果確定到將一個(gè)或多個(gè)元素置于頂層,可基于本步驟修改上述一個(gè)或多個(gè)元素的層級屬性值,同樣需要說明的是,多個(gè)元素同時(shí)置于頂層時(shí),其置于頂層后多個(gè)元素之間仍保持原有的層級順序。

S204、如果層級更新操作為將至少一個(gè)元素置于層級相鄰的兩其他元素之間,則確定與兩其他元素對應(yīng)的兩層級屬性值,在兩層級屬性值之間的范圍內(nèi)選取至少一個(gè)數(shù)值對應(yīng)作為至少一個(gè)元素的層級屬性值。

示例性地,如果確定到將一個(gè)或多個(gè)元素置于層級相鄰的兩其他元素之間,則可基于本步驟的操作修改上述一個(gè)或多個(gè)元素的層級屬性值。

需要說明的是,如果對多個(gè)元素進(jìn)行層級變更,則可根據(jù)層級變更的元素個(gè)數(shù)均分兩層級屬性值之間的數(shù)據(jù),并依據(jù)多個(gè)元素原有的層級順序,將均分后的多個(gè)數(shù)值依次作為多個(gè)元素當(dāng)前的層級屬性值。

示例性地,將三個(gè)元素置于層級相鄰的兩其他元素之間,且兩其他元素的層級屬性值分別為3和4,相當(dāng)于三個(gè)元素置于3和4之間,則將這三個(gè)元素依照原有的層級順序,其當(dāng)前的層級屬性值可依次設(shè)定為3.25,3.5和3.75。

S205、如果監(jiān)測到畫布中至少一個(gè)元素的層級屬性值被修改,則將設(shè)定標(biāo)記位的值確定為第一標(biāo)記值。

示例性地,只要執(zhí)行了步驟S202至步驟S204中的任一步,就相當(dāng)于對畫布中元素的層級屬性值進(jìn)行了修改,由此可基于本步驟將設(shè)定標(biāo)記位確定為第一標(biāo)記值。

S206、當(dāng)確定畫布當(dāng)前處于空閑狀態(tài)且檢測到設(shè)定標(biāo)記位的值為第一標(biāo)記值時(shí),根據(jù)畫布中各元素當(dāng)前的層級屬性值,由小到大對各元素排序,并從設(shè)定整數(shù)值開始對各元素進(jìn)行編號。

示例性地,在符合元素層級渲染的刷新條件后,首先可基于本步驟的操作確定各元素的顯示屬性值。本實(shí)施例中依據(jù)層級屬性值對各元素由小到大排序后,可以從設(shè)定整數(shù)值開始對各元素編號,其中,設(shè)定屬性值可以優(yōu)選為但不限定為整數(shù)1。

S207、確定排序后各元素對應(yīng)的整數(shù)編號,將各元素的整數(shù)編號確定為各元素的顯示屬性值。

示例性地,如果設(shè)定整數(shù)值為1,則相當(dāng)于對排序后的各元素從1開始編號,由此每個(gè)元素對應(yīng)有相應(yīng)的整數(shù)編號,本實(shí)施例將該整數(shù)編號作為相應(yīng)元素的顯示屬性值。

S208、根據(jù)各元素的顯示屬性值,刷新畫布中各元素的層級渲染。

示例性地,在確定各元素的顯示屬性值后,可以根據(jù)整數(shù)型的各元素的顯示屬性值與渲染框架進(jìn)行信息交互,由此刷新畫布中各元素的層級渲染,以使元素層級屬性值與當(dāng)前界面上顯示的層級渲染保持一致。

本發(fā)明實(shí)施例二提供的一種文稿編輯工具中元素層級的管理方法,具體化了元素層級屬性值的修改操作,同時(shí)具體化了顯示屬性值的確定操作。利用該方法,能夠采用雙重屬性來管理元素的層級,即為元素分別設(shè)置一個(gè)用于層級更新的浮點(diǎn)型層級屬性以及用于層級渲染的整數(shù)型顯示屬性,由此在元素發(fā)生層次變更操作時(shí),無需更新全部元素的層級值,也無需強(qiáng)制進(jìn)行層級刷新,就能夠保證畫布中各元素的層級值一直都與畫布UI界面視覺上呈現(xiàn)的層次渲染保持一致,有效降低了層級管理時(shí)CPU和內(nèi)存資源的占用率以及層級渲染的錯誤率,很大程度提高了文稿編輯工具開發(fā)層面的便捷性。

實(shí)施例三

圖3為本發(fā)明實(shí)施例三提供的一種文稿編輯工具中元素層級的管理方法的流程示意圖。本發(fā)明實(shí)施例以上述實(shí)施例為基礎(chǔ)進(jìn)行優(yōu)化,在本實(shí)施例中,進(jìn)一步優(yōu)化增加了:基于設(shè)定規(guī)則向所述畫布中添加新的元素,并設(shè)定所述元素在所述畫布中的層級屬性值。

在上述優(yōu)化的基礎(chǔ)上,進(jìn)一步將“基于設(shè)定規(guī)則向所述畫布中添加新的元素,并設(shè)定所述元素在所述畫布中的層級屬性值”具體化為:確定待添加至所述畫布中的元素當(dāng)前的層級屬性值是否為0;如果所述元素當(dāng)前的層級屬性值為0,則將所述元素添加至所述畫布,確定所述畫布中當(dāng)前是否存在其他元素,并基于確定結(jié)果設(shè)定所述元素在所述畫布中的層級屬性值;如果所述元素當(dāng)前的層級屬性值不為0,則將所述元素當(dāng)前的層級屬性值確定為所述元素在所述畫布中的層級屬性值,并將所述元素添加至所述畫布。

此外,本發(fā)明實(shí)施例在“所述根據(jù)各元素的顯示屬性值,刷新所述畫布中各元素的層級渲染”之后,還優(yōu)化增加了:將所述設(shè)定標(biāo)記位的值確定為第二標(biāo)記值。

如圖3所示,本發(fā)明實(shí)施例三提供的一種文稿編輯工具中元素層級的管理方法,具體包括如下操作:

本實(shí)施例中的步驟S301~步驟S303具體化了對待添加至畫布中的元素進(jìn)行最初的層級屬性值的確定操作。

S301、確定待添加至所述畫布中的元素當(dāng)前的層級屬性值是否為0,若是,則執(zhí)行步驟S302;若否,則執(zhí)行步驟S303。

本步驟首先對待添加至畫布的元素當(dāng)前的屬性值進(jìn)行判定,確定其當(dāng)前的屬性值是否為0。一般地,待添加至畫布的元素可以是根據(jù)添加按鈕在畫布中創(chuàng)建的新元素,也可以是根據(jù)插入按鈕從其他來源(如其他路徑下的文檔、圖片以及視頻等)獲得的待插入畫布中的元素。

需要說明的是,如果待添加元素為新創(chuàng)建元素,則新創(chuàng)建元素的層級屬性以及顯示屬性的值均初始為0;而當(dāng)待添加元素為其他來源的元素時(shí),這些元素?cái)y帶了原有的層級屬性值,且原有的層級屬性值一般情況下不會為0。本步驟通過判定待添加元素當(dāng)前的層級屬性值是否為0,可以判定待添加元素為新創(chuàng)建的還是從其他來源獲取的,并由此可根據(jù)判定結(jié)果對應(yīng)進(jìn)行后續(xù)操作。

S302、將元素添加至畫布,確定畫布中當(dāng)前是否存在其他元素,并基于確定結(jié)果設(shè)定元素在畫布中的層級屬性值。

本步驟在確定待添加的元素當(dāng)前的層級屬性值為0時(shí),首先將元素添加至畫布,然后判定畫布中當(dāng)前是否還存在其他元素,且根據(jù)不同的判定結(jié)果,執(zhí)行不同的元素層級屬性值的設(shè)定操作。

進(jìn)一步的,所述基于確定結(jié)果設(shè)定所述元素在所述畫布中的層級屬性值,包括:如果所述畫布中當(dāng)前不存在其他元素,則將所述畫布的初始層級屬性值作為所述元素的層級屬性值;否則確定所述畫布中當(dāng)前的最大層級屬性值,并將所述元素的層級屬性值設(shè)定為所述最大層級屬性值加1。

在本實(shí)施例中,文稿編輯工具中創(chuàng)建畫布時(shí),會相應(yīng)的為畫布設(shè)定一個(gè)初始層級屬性值,該初始層級屬性值一般可作為第一個(gè)添加至畫布中元素的層級屬性值。需要注意的是,本實(shí)施例一般將畫布的初始層級屬性值設(shè)定為一個(gè)較大的數(shù)值,因?yàn)槿绻麑嫴嫉某跏紝蛹墝傩灾翟O(shè)置為1,那么一旦畫布中發(fā)生太多次將元素置于底層的操作,基于上述層級屬性值的修改操作,可確定畫布中會有大量元素的層級屬性值介于0到1之間,很可能會因?yàn)楦↑c(diǎn)型數(shù)據(jù)的精度問題導(dǎo)致元素的層級屬性值與用戶預(yù)期設(shè)定的層級不符,由此出現(xiàn)層級匹配錯誤。示例性地,本實(shí)施例將畫布的初始層級屬性值設(shè)定為但不限定為10000,由此在對元素進(jìn)行置于底層或下移至低于最低層的操作時(shí),只需在原有最小層級屬性值的基礎(chǔ)上進(jìn)行數(shù)值的減操作,這樣,即使對畫布中的元素進(jìn)行更多次的置于底層的操作,也不會影響浮點(diǎn)型數(shù)據(jù)的精度,從而減少了層級匹配錯誤的出現(xiàn)幾率。

S303、將元素當(dāng)前的層級屬性值確定為元素在畫布中的層級屬性值,并將元素添加至畫布。

在確定待添加的元素當(dāng)前的層級屬性值不為0時(shí),可確定待添加的元素為其它來源的元素,本步驟可直接將元素在原有資源中具有的層級屬性值確定為元素在當(dāng)前畫布中的層級屬性值。需要說明的是,在確定該元素在畫布中的層級屬性值后,還無法直接將元素添加至畫布中,需要進(jìn)一步確定元素所具有的層級屬性值是否與畫布中其他元素的屬性值沖突,如果屬性值不沖突,則可認(rèn)為該元素的來源為文稿編輯工具的受信任來源,可直接將該元素添加至畫布中;如果屬性值存在沖突,則可認(rèn)為該元素的來源不是文稿編輯工具的受信任來源,此時(shí)為了保證文稿編輯工具的安全,一般拒絕將該元素添加至畫布。

S304、在監(jiān)測到對文稿編輯工具畫布中的至少一個(gè)元素進(jìn)行層級變更操作時(shí),根據(jù)層級變更操作修改至少一個(gè)元素的浮點(diǎn)型的層級屬性值。

S305、如果監(jiān)測到畫布中至少一個(gè)元素的層級屬性值被修改,則將設(shè)定標(biāo)記位的值確定為第一標(biāo)記值。

S306、當(dāng)確定畫布當(dāng)前處于空閑狀態(tài)且檢測到設(shè)定標(biāo)記位的值為第一標(biāo)記值時(shí),根據(jù)畫布中各元素當(dāng)前的層級屬性值的排序確認(rèn)各元素的顯示屬性值。

S307、根據(jù)各元素的顯示屬性值,刷新畫布中各元素的層級渲染。

S308、將設(shè)定標(biāo)記位的值確定為第二標(biāo)記值。

在本實(shí)施例中,在設(shè)定標(biāo)記位處于第一標(biāo)記值的情況下完成對上述元素層級渲染的刷新操作后,可以將設(shè)定標(biāo)記位的值確定為第二標(biāo)記值,該第二標(biāo)記值具體可用于提示文稿編輯工具其畫布中的元素當(dāng)前已不存在待刷新層級渲染的操作。

需要說明的是,在完成當(dāng)前畫布中的文稿編輯后,如果需要對該畫布進(jìn)行退出保存,則可在關(guān)閉該畫布前,保存該畫布的元素屬性信息時(shí),對該畫布中各元素的層級屬性值進(jìn)行歸整操作,即,可將畫布中的各元素根據(jù)當(dāng)前的層級屬性值排序,然后基于其排序順序?qū)⒏髟氐膶蛹墝傩灾祷貧w成1~N的整數(shù)值,以便于對元素屬性信息的保存。之后,如果需要在該畫布中再次進(jìn)行文稿編輯,則可在打開該畫布時(shí),自動在畫布中各元素當(dāng)前所對應(yīng)層級屬性值的基礎(chǔ)上加上畫布的初始層級屬性值,作為各元素在畫布中的新的層級屬性值。

示例性地,如在畫布退出保存前元素a對應(yīng)的層級屬性值為10005.5,且確定元素a基于層級屬性值在各元素中的排序?yàn)榈?位,則可在關(guān)閉該畫布時(shí),將元素a的層級屬性值歸整標(biāo)記為7;本實(shí)施例設(shè)定該畫布的初始層級屬性值為10000,當(dāng)后續(xù)再次對該畫布編輯打開該畫布時(shí),元素a的層級屬性值則可確定為7加10000,即元素a在新打開的畫布中的層級屬性值為10007。

本發(fā)明實(shí)施例三提供的一種文稿編輯工具中元素層級的管理方法,具體增加了待添加元素的添加判定及層級屬性值的確定操作,還優(yōu)化增加了設(shè)定標(biāo)記為的修改操作。利用該方法,實(shí)現(xiàn)了文稿編輯工具中元素層級的全面管理,有效降低了層級管理時(shí)CPU和內(nèi)存資源的占用率以及層級渲染的錯誤率,很大程度提高了文稿編輯工具開發(fā)層面的便捷性。

實(shí)施例四

圖4為本發(fā)明實(shí)施例四提供的一種文稿編輯工具中元素層級的管理裝置的結(jié)構(gòu)框圖。該裝置適用于基于文稿編輯工具編輯文稿過程中對畫布中元素的層級和顯示進(jìn)行管理的情況,其中該裝置可由軟件和/或硬件實(shí)現(xiàn),并一般集成在文稿編輯工具中。如圖4所示,該裝置包括:層級值修改模塊41、第一標(biāo)記模塊42、顯示值確定模塊43以及元素層級渲染模塊44。

其中,層級值修改模塊41,用于在監(jiān)測到對文稿編輯工具畫布中的至少一個(gè)元素進(jìn)行層級變更操作時(shí),根據(jù)所述層級變更操作修改所述至少一個(gè)元素的浮點(diǎn)型的層級屬性值;

第一標(biāo)記模塊42,用于當(dāng)監(jiān)測到所述畫布中至少一個(gè)元素的層級屬性值被修改時(shí),將設(shè)定標(biāo)記位的值確定為第一標(biāo)記值;

顯示值確定模塊43,用于當(dāng)確定所述畫布當(dāng)前處于空閑狀態(tài)且檢測到所述設(shè)定標(biāo)記位的值為第一標(biāo)記值時(shí),根據(jù)所述畫布中各元素當(dāng)前的層級屬性值的排序確認(rèn)各元素的顯示屬性值;

元素層級渲染模塊44,用于根據(jù)各元素的顯示屬性值,刷新所述畫布中各元素的層級渲染。

在本實(shí)施例中,該裝置首先通過層級值修改模塊41在監(jiān)測到對文稿編輯工具畫布中的至少一個(gè)元素進(jìn)行層級變更操作時(shí),根據(jù)層級變更操作修改所述至少一個(gè)元素的浮點(diǎn)型的層級屬性值;然后當(dāng)監(jiān)測到畫布中至少一個(gè)元素的層級屬性值被修改時(shí),通過第一標(biāo)記模塊42將設(shè)定標(biāo)記位的值確定為第一標(biāo)記值;之后通過顯示值確定模塊43當(dāng)確定畫布當(dāng)前處于空閑狀態(tài)且檢測到設(shè)定標(biāo)記位的值為第一標(biāo)記值時(shí),根據(jù)畫布中各元素當(dāng)前的層級屬性值的排序確認(rèn)各元素的顯示屬性值;最終通過元素層級渲染模塊44根據(jù)各元素的顯示屬性值,刷新畫布中各元素的層級渲染。

本發(fā)明實(shí)施例四提供的一種文稿編輯工具中元素層級的管理裝置,在元素發(fā)生層次變更操作時(shí),無需更新全部元素的層級值,也無需強(qiáng)制進(jìn)行層級刷新,就能夠保證畫布中各元素的層級值一直都與畫布UI界面視覺上呈現(xiàn)的層次渲染保持一致,有效降低了層級管理時(shí)CPU和內(nèi)存資源的占用率以及層級渲染的錯誤率,很大程度提高了文稿編輯工具開發(fā)層面的便捷性。

進(jìn)一步的,所述層級變更操作包括:將元素置于底層、將元素置于頂層以及將元素置于層級相鄰的兩其他元素之間;相應(yīng)的,層級值修改模塊41,具體可用于:

在監(jiān)測到對文稿編輯工具畫布中的至少一個(gè)元素進(jìn)行層級變更操作時(shí),確定所述至少一個(gè)元素對應(yīng)的層級更新操作;如果所述層級更新操作為將所述至少一個(gè)元素置于底層,則確定所述畫布中當(dāng)前的最小層級屬性值,在小于所述最小層級屬性值范圍內(nèi)選取至少一個(gè)正數(shù)對應(yīng)作為所述至少一個(gè)元素的層級屬性值;如果所述層級更新操作為將所述至少一個(gè)元素置于頂層,則確定所述畫布中當(dāng)前的最大層級屬性值,則在所述最大層級屬性值上依次加1對應(yīng)作為所述至少一個(gè)元素的層級屬性值;如果所述層級更新操作為將所述至少一個(gè)元素置于層級相鄰的兩其他元素之間,則確定與所述兩其他元素對應(yīng)的兩層級屬性值,在所述兩層級屬性值之間的范圍內(nèi)選取至少一個(gè)數(shù)值對應(yīng)作為所述至少一個(gè)元素的層級屬性值。

在上述實(shí)施例的基礎(chǔ)上,顯示值確定模塊43,具體可用于:

當(dāng)確定所述畫布當(dāng)前處于空閑狀態(tài)且檢測到所述設(shè)定標(biāo)記位的值為第一標(biāo)記值時(shí),根據(jù)所述畫布中各元素當(dāng)前的層級屬性值,由小到大對各元素排序,并從設(shè)定整數(shù)值開始對各元素進(jìn)行編號;確定排序后各元素對應(yīng)的整數(shù)編號,將各元素的整數(shù)編號確定為各元素的顯示屬性值。

進(jìn)一步的,該裝置還優(yōu)化增加了:

層級值設(shè)定模塊45,用于基于設(shè)定規(guī)則向所述畫布中添加新的元素,并設(shè)定所述元素在所述畫布中的層級屬性值。

在上述優(yōu)化的基礎(chǔ)上,層級值設(shè)定模塊45,優(yōu)化包括了:

層級制判定單元,用于確定待添加至所述畫布中的元素當(dāng)前的層級屬性值是否為0;

第一執(zhí)行單元,用于當(dāng)所述元素當(dāng)前的層級屬性值為0時(shí),將所述元素添加至所述畫布,確定所述畫布中當(dāng)前是否存在其他元素,并基于確定結(jié)果設(shè)定所述元素在所述畫布中的層級屬性值;

第二執(zhí)行單元,用于當(dāng)所述元素當(dāng)前的層級屬性值不為0時(shí),將所述元素當(dāng)前的層級屬性值確定為所述元素在所述畫布中的層級屬性值,并將所述元素添加至所述畫布。

進(jìn)一步的,所述第一執(zhí)行單元,具體可用于:

當(dāng)所述元素當(dāng)前的層級屬性值為0時(shí),將所述元素添加至所述畫布,確定所述畫布中當(dāng)前是否存在其他元素;如果所述畫布中當(dāng)前不存在其他元素,則將所述畫布的初始層級屬性值作為所述元素的層級屬性值;否則確定所述畫布中當(dāng)前的最大層級屬性值,并將所述元素的層級屬性值設(shè)定為所述最大層級屬性值加1。

在上實(shí)施例的基礎(chǔ)上,該裝置還優(yōu)化包括了:

第二標(biāo)記模塊46,用于在所述根據(jù)各元素的顯示屬性值,刷新所述畫布中各元素的層級渲染之后,將所述設(shè)定標(biāo)記位的值確定為第二標(biāo)記值。

注意,上述僅為本發(fā)明的較佳實(shí)施例及所運(yùn)用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解,本發(fā)明不限于這里所述的特定實(shí)施例,對本領(lǐng)域技術(shù)人員來說能夠進(jìn)行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護(hù)范圍。因此,雖然通過以上實(shí)施例對本發(fā)明進(jìn)行了較為詳細(xì)的說明,但是本發(fā)明不僅僅限于以上實(shí)施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實(shí)施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1