两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種優(yōu)化的svg演示放映方法

文檔序號:6555816閱讀:151來源:國知局
專利名稱:一種優(yōu)化的svg演示放映方法
技術(shù)領(lǐng)域
本發(fā)明涉及計算機(jī)應(yīng)用領(lǐng)域,尤其涉及一種SVG演示放映方法。
背景技術(shù)
隨著演示文件(諸如,Microsoft Office、Open Office、WPS Office中的演示文件)在政府辦公、教育實(shí)踐、企業(yè)交流等各個領(lǐng)域中的使用越來越廣,對演示文件本身的要求也越來越高演示文件已不能僅僅滿足于文本、圖形、圖像和視頻了,應(yīng)該而且必須具備豐富而優(yōu)秀的交互性能;同一套演示文件必須能很方便的在不同的介質(zhì)上發(fā)布,除了傳統(tǒng)的紙和PC之外,還有Web發(fā)布、PDA、手機(jī)等手持設(shè)備。但由于演示文件是二進(jìn)制文件,不是基于XML(eXtensible MarkupLanguage)的文件,所以要發(fā)布或再利用一個演示文件不是很容易。因此,現(xiàn)在有很多研究都在試圖重新構(gòu)建一個更好的演示文件,大致思路是首先基于XML來表達(dá)演示的邏輯和表現(xiàn)數(shù)據(jù),再利用XSLT或其它工具將XML演示文件轉(zhuǎn)換為具體表現(xiàn)形式,它們都具備生成SVG(Scalable Vector Graphics可伸縮矢量圖形)文件的功能,但它們都是直接使用SVG表達(dá)演示內(nèi)容,一方面失去了演示文件中原有的許多特有概念,另一方面導(dǎo)致動畫不能重用,進(jìn)而使得SVG文件尺寸過大等,這對于當(dāng)今互聯(lián)網(wǎng)依賴性越來越強(qiáng)的環(huán)境下,很不利于網(wǎng)絡(luò)傳輸。另外,如果采用純XML方式表達(dá)演示文件的話,雖然邏輯會非常清晰,但會額外增加由XML轉(zhuǎn)換成可被SVG應(yīng)用程序理解的SVG標(biāo)準(zhǔn)格式文檔所需的難度,甚至可能到SVG應(yīng)用程序無法實(shí)現(xiàn)的程度。因此,出現(xiàn)了一種能夠盡可能多地保留演示中特有概念而且易于被SVG應(yīng)用程序理解和應(yīng)用的SVG格式文檔,同時也出現(xiàn)了SVG演示放映方法,參見圖1,本公司申請的名稱為《一種SVG演示放映器及進(jìn)行演示放映的方法》發(fā)明專利公開了一種SVG演示放映方法,該方法有一定不足之處,它在放映時,需要將整個放映列表中的所有Slide數(shù)據(jù)拷貝到DOM樹中的節(jié)點(diǎn)中,這樣一方面可能導(dǎo)致在整個DOM樹中,元素id不唯一,使得一些需求實(shí)現(xiàn)起來變得極為復(fù)雜甚至無法實(shí)現(xiàn),如交互動畫;另一方面,所有的Slide數(shù)據(jù)都在同一個DOM樹中,相互之間的獨(dú)立性差,在進(jìn)行頁切換時無法實(shí)現(xiàn)利用剛播放過的Slide作切換背景,而只能是用黑色作為切換背景;還有,因?yàn)轭l繁地對DOM樹進(jìn)行操作,因此在處理尺寸較大的文檔時數(shù)據(jù)準(zhǔn)備階段的加載時間長,效率很低。

發(fā)明內(nèi)容
本發(fā)明克服了現(xiàn)有技術(shù)中的不足,提供一種加載時間短、處理效率高的SVG演示放映方法。
為了解決上述技術(shù)問題,通過以下技術(shù)方案實(shí)現(xiàn)一種SVG演示放映方法,該方法將系統(tǒng)分為應(yīng)用層、邏輯層和數(shù)據(jù)層,所述應(yīng)用層主要負(fù)責(zé)事件的接收,以及把接收到的事件分發(fā)給邏輯層中SVG演示放映器中的對應(yīng)模塊;邏輯層中的SVG演示放映器主要包括播放狀態(tài)管理模塊、放映頁數(shù)據(jù)準(zhǔn)備模塊、頁切換模塊和頁內(nèi)動畫放映模塊;數(shù)據(jù)層包括DOM原始數(shù)據(jù)定義區(qū)、DOM放映區(qū)、播放狀態(tài)存儲單元和其它數(shù)據(jù)存儲單元;該演示放映方法還包括放映頁的初始化過程和與用戶交互的過程,其中,上述數(shù)據(jù)層還包括播放對象存儲單元和數(shù)據(jù)對象存儲單元,所述DOM放映區(qū)只存儲最近放映過的Slide和當(dāng)前正在放映的Slide,前者稱為節(jié)點(diǎn)一,后者稱為節(jié)點(diǎn)二。
上述SVG演示放映方法中,所述數(shù)據(jù)對象存儲單元按照SVG演示文檔中自定義放映列表中Slide的放映順序存放已播放過的Slide對象集;所述播放對象存儲單元用于存儲原始Slide數(shù)據(jù)對象集或放映頁數(shù)據(jù)準(zhǔn)備模塊生成的放映頁數(shù)據(jù)對象集的數(shù)組。
與現(xiàn)有技術(shù)現(xiàn)相比,由于本發(fā)明演示放映方法中將動態(tài)合成的放映頁數(shù)據(jù)全部存儲在數(shù)據(jù)對象存儲單元,DOM樹中的DOM放映區(qū)至多只保留了兩份Slide的數(shù)據(jù),并且在數(shù)據(jù)合成完成以后,原始定義數(shù)據(jù)從DOM樹中刪除,這樣,一方面使DOM樹中所有對象的id唯一,各部分?jǐn)?shù)據(jù)之間的獨(dú)立性更強(qiáng);另一方面大大減小了DOM樹的復(fù)雜度和大小。使得原來無法實(shí)現(xiàn)的一些諸如交互動畫的特殊需求游刃而解,放映系統(tǒng)功能更為強(qiáng)大,更具擴(kuò)展性,而且加快了執(zhí)行速度,提高了效率。


圖1是現(xiàn)有技術(shù)中演示放映方法中事件與各模塊關(guān)系圖;圖2是本發(fā)明演示放映方法中事件與各模塊關(guān)系圖;圖3是本發(fā)明演示放映方法中靜態(tài)數(shù)據(jù)合成示意圖;圖4是本發(fā)明演示放映方法中也切換流程圖。
具體實(shí)施例方式
一種SVG演示放映方法,該方法將系統(tǒng)分為應(yīng)用層、邏輯層和數(shù)據(jù)層,所述應(yīng)用層主要負(fù)責(zé)事件的接收,以及把接收到的事件分發(fā)給邏輯層中SVG演示放映器中的對應(yīng)模塊;邏輯層中的SVG演示放映器主要包括播放狀態(tài)管理模塊、放映頁數(shù)據(jù)準(zhǔn)備模塊、頁切換模塊和頁內(nèi)動畫放映模塊;數(shù)據(jù)層包括DOM原始數(shù)據(jù)定義區(qū)、DOM放映區(qū)、播放狀態(tài)存儲單元和其它數(shù)據(jù)存儲單元;該演示放映方法還包括放映頁的初始化過程和與用戶交互的過程,其中,上述數(shù)據(jù)層還包括播放對象存儲單元和數(shù)據(jù)對象存儲單元,所述DOM放映區(qū)只存儲最近放映過的Slide和當(dāng)前正在放映的Slide,前者稱為節(jié)點(diǎn)一,后者稱為節(jié)點(diǎn)二。上述SVG演示放映方法中,所述數(shù)據(jù)對象存儲單元按照SVG演示文檔中自定義放映列表中Slide的放映順序存放已播放過的Slide對象集;所述播放對象存儲單元用于存儲原始Slide數(shù)據(jù)對象集或放映頁數(shù)據(jù)準(zhǔn)備模塊生成的放映頁數(shù)據(jù)對象集的數(shù)組。
本發(fā)明方法中的數(shù)據(jù)邏輯結(jié)構(gòu)的改變,使得對應(yīng)的放映頁數(shù)據(jù)準(zhǔn)備模塊和頁切換模塊的處理流程也發(fā)生了相應(yīng)變化。
放映頁數(shù)據(jù)準(zhǔn)備模塊的處理流程是在初始化事件中,調(diào)用放映頁數(shù)據(jù)準(zhǔn)備模塊提供的接口,準(zhǔn)備放映頁數(shù)據(jù)。按照Slide的定義順序獲取該Slide原始數(shù)據(jù),并根據(jù)該Slide原始數(shù)據(jù)中的一個特殊標(biāo)識,判斷其與對應(yīng)Master的關(guān)聯(lián)關(guān)系,在內(nèi)存中將Master數(shù)據(jù)與Slide原始數(shù)據(jù)按照指定的規(guī)則,合成可以直接被SVG播放器顯示的一張完整的Slide,即放映頁數(shù)據(jù),然后將該Slide對象保存到數(shù)據(jù)對象存儲單元中的相應(yīng)位置,供其它模塊使用,使用相同方法直至所有Slide轉(zhuǎn)換完畢,(也可以使用相同方法只將部分Slide轉(zhuǎn)換完畢,而其他Slide可在放映前實(shí)時準(zhǔn)備,即放映到某一頁時,才開始準(zhǔn)備這一頁的數(shù)據(jù);數(shù)據(jù)來源可以是單獨(dú)的文件,也可以是多個文件,可以是本地的,也可以是網(wǎng)絡(luò)上的。)最后,移除DOM樹中所有原始Slide數(shù)據(jù)對應(yīng)的節(jié)點(diǎn),還可以移除Maste數(shù)據(jù)對應(yīng)的節(jié)點(diǎn)(作為子權(quán)利要求)。如果指定了自定義放映名,則按照指定自定義放映名讀取對應(yīng)的播放列表內(nèi)容,否則按照文檔中Slide的定義順序作為播放列表內(nèi)容。
頁切換模塊的處理流程是在頁切換過程中,首先要根據(jù)當(dāng)前的狀態(tài)(主要指當(dāng)前放映的是第幾頁)及動作類型,從DOM放映區(qū)刪除節(jié)點(diǎn)一,再從數(shù)據(jù)對象存儲單元中找到目的Slide對應(yīng)的對象,追加到DOM放映區(qū)中。這樣,原來的節(jié)點(diǎn)二變成了節(jié)點(diǎn)一,新追加進(jìn)去的節(jié)點(diǎn)為節(jié)點(diǎn)二。最后,觸發(fā)節(jié)點(diǎn)二的頁切換動畫,并將節(jié)點(diǎn)二的頁索引號傳回給播放狀態(tài)管理模塊,由它對當(dāng)前播放狀態(tài)進(jìn)行更新,將結(jié)果保存在播放狀態(tài)存儲單元中,完成整個頁切換動作。切換到上一頁或下一頁與跳轉(zhuǎn)到指定頁的主要區(qū)別在于切換到上一頁或下一頁無需播放狀態(tài)管理提供將要播放的Slide的索引號,只需要提供當(dāng)前Slide的索引號及動作方向;而切換到指定頁不僅需要播放狀態(tài)管理模塊提供當(dāng)前頁的索引號,還需要提供將要播放的Slide的索引號。如果在進(jìn)行頁切換時,動畫數(shù)據(jù)在放映頁數(shù)據(jù)準(zhǔn)備模塊沒有完全準(zhǔn)備好,則此處還需要先將動畫數(shù)據(jù)準(zhǔn)備完整,動畫數(shù)據(jù)的加載仍然是使用“函數(shù)動畫”法。
下面一實(shí)例的方式介紹本發(fā)明SVG演示放映方法中初始化和與用戶交互過程的工作流程整個放映系統(tǒng)的運(yùn)行都是通過DOM的事件機(jī)制來觸發(fā)的。SVG演示數(shù)據(jù)文檔加載后,當(dāng)需要初始化數(shù)據(jù)時,通過調(diào)用特定響應(yīng)函數(shù),也即放映頁數(shù)據(jù)準(zhǔn)備模塊為應(yīng)用層提供的接口,作為處理SVG文檔的入口,將原始Slide數(shù)據(jù)與Master數(shù)據(jù)根據(jù)Slide定義數(shù)據(jù)中的特定標(biāo)記按照指定原則進(jìn)行合成,生成可以直接被SVG播放器顯示的數(shù)據(jù),并將生成的數(shù)據(jù)暫存到數(shù)據(jù)對象存儲單元;然后,讀取指定自定義放映名中的播放列表,如果指定的放映名不存在或沒有指定自定義放映名,則按Slide的定義順序做為播放列表。當(dāng)放映頁數(shù)據(jù)準(zhǔn)備完畢以后,系統(tǒng)等待用戶事件的產(chǎn)生,并由播放狀態(tài)管理模塊負(fù)責(zé)為各種事件提供接口供各種事件的處理入口調(diào)用。
播放狀態(tài)管理模塊共可以處理五種類型的動作切換到下一頁、切換到上一頁、切換到指定頁、下一動作和上一動作。對于前三種類型的動作,播放狀態(tài)管理模塊只需要直接調(diào)用頁切換模塊并為它提供關(guān)鍵信息,并在頁切換模塊執(zhí)行特定動作以后更新當(dāng)前放映狀態(tài)就可以了。對于后兩種動作,是現(xiàn)實(shí)存在的復(fù)雜動作,需要由播放狀態(tài)模塊根據(jù)當(dāng)前放映狀態(tài)對它們進(jìn)行一次深加工,轉(zhuǎn)換成頁切換動作或頁內(nèi)動畫放映動作或頁內(nèi)動畫回退動作。然后再決定調(diào)用頁切換模塊完成頁切換動作,或是調(diào)用頁內(nèi)動畫放映模塊完成頁內(nèi)動畫放映動作及頁內(nèi)動畫回退動作。不管是執(zhí)行頁切換動作,還是執(zhí)行頁動畫放映動作或是頁內(nèi)動畫回退操作,在執(zhí)行指定動作的同時,通知播放狀態(tài)管理模塊同步更新當(dāng)前放映狀態(tài),如修改當(dāng)前Slide的索引號或是當(dāng)前動畫的索引號。另外,還可以通過索引頁處理模塊完成頁的跳轉(zhuǎn)及更改自定義放映方案。
如圖3所示,在合成數(shù)據(jù)之前,系統(tǒng)首先進(jìn)行版本判斷。每一個生成的SVG演示文檔中都包含有該文檔的版本信息,如果從文檔中讀取的版本信息與放映系統(tǒng)的版本信息不一致,則會終止對文檔的處理,直接結(jié)束放映。如果一致,系統(tǒng)則開始準(zhǔn)備數(shù)據(jù),其過程為從幻燈片頁數(shù)據(jù)定義區(qū)復(fù)制指定的Slide數(shù)據(jù)為SlideCut,并重新生成SlideCut的id,假設(shè)原Slide的id為“oldId”,與它關(guān)聯(lián)的Master的id為“mastered”,則新生成的SlideCut的id為“oldId”+.?(?表示該文檔中不重復(fù)的整數(shù)字,從0開始,依次遞增),如“oldId.0”;然后,使用DOM函數(shù)獲取SlideCut中id值為“oldId.master”的元素,該id所對應(yīng)的元素的作用是為Slide與Master建立關(guān)聯(lián),指出該Slide是否忽略對應(yīng)Master中的背景圖形,為了說明方便,后面簡稱關(guān)聯(lián)元素。如果該關(guān)聯(lián)元素的xlink:href屬性值為“masterId”,則表示不忽略Master中的背景圖形,否則如果為“masterId.background”,則表示忽略。當(dāng)忽略時,將此關(guān)聯(lián)元素的id改為“oldId.master.ignoreshapes”,否則,將其id改為“masterId.background”,并將masterId中所有的shapes復(fù)制到SlideCut中。值得注意的是,在SVG中,各Shape的層次關(guān)系是通過它們在數(shù)據(jù)定義時的先后順序決定的,所以為了在把Master中的shapes復(fù)制到SlideCut以后,不導(dǎo)致Master中的Shape覆蓋SlideCut中的Shape,必須將Master中的Shapes復(fù)制到SlideCut中關(guān)聯(lián)元素的之后,所有Shapes定義之前,這個操作可以利用DOM提供的insertBefore接口來完成。最后,將生成的SlideCut對象暫存到數(shù)據(jù)對象存儲區(qū)中的對應(yīng)位置。完成一次Slide靜態(tài)數(shù)據(jù)的合成操作。
按照上述方法,直至按照文檔中Slide的定義順序?qū)⑺性糞lide數(shù)據(jù)轉(zhuǎn)換成靜態(tài)數(shù)據(jù)暫存到數(shù)據(jù)對象存儲區(qū)。合成某一v_Slide對象對應(yīng)Slide的靜態(tài)數(shù)據(jù)。
如圖4所示,當(dāng)播放狀態(tài)管理模塊對動作經(jīng)過分析后,如果動作是涉及頁切換的,播放狀態(tài)管理模塊則會調(diào)用頁切換模塊提供的內(nèi)部接口,通知頁切換模塊處理發(fā)生的動作,并為頁切換模塊提供關(guān)鍵信息,以便讓頁切換模塊能夠準(zhǔn)確調(diào)用內(nèi)部相應(yīng)子模塊,執(zhí)行動作指定的功能。當(dāng)頁切換模塊的內(nèi)部接口被調(diào)用后,頁切換模塊被激活,它會立即對播放狀態(tài)管理模塊提供的信息進(jìn)行判斷,如果是跳到指定頁,則首先判斷該頁是否在當(dāng)前放映列表中,要是在放映列表中的話,直接移除DOM放映區(qū)中的節(jié)點(diǎn)一,將數(shù)據(jù)對象存儲單元中的指定頁對象追加到DOM放映區(qū)中,并激活頁切換動畫,同時,播放狀態(tài)管理模塊同步更新當(dāng)前頁號,完成頁跳轉(zhuǎn),要是不在放映列表中,則只移除DOM放映區(qū)中的節(jié)點(diǎn)一,將數(shù)據(jù)對象存儲單元中的指定頁對象追加到DOM放映區(qū)中,并激活頁切換動畫,而不需要播放狀態(tài)管理模塊同步更新當(dāng)前頁號,以便在頁動畫放映完畢能順利跳回到原Slide。如果是跳到下一頁或是上一頁,換頁的方法與跳轉(zhuǎn)到指定頁相似,但在頁切換之前需要把節(jié)點(diǎn)一的內(nèi)容暫存到播放對象存儲單元后再從DOM放映區(qū)移除,同時還要考慮跳轉(zhuǎn)頁是否隱藏?!瓰榱苏f明方便,假設(shè)當(dāng)前頁的索引號為C,并且把該索引值賦給K。如果是“上一頁”,則首先判斷第K頁是不是首頁,如果是首頁,則不執(zhí)行任何動作,直接結(jié)束流程,否則,K值自減1,再判斷第K頁是不是隱藏頁(visibility屬性值為“hidden”),如果是隱藏頁,再判斷它曾經(jīng)是否被播放過,如果從來沒有被播放過,則直接跳過第K頁,使用相同方法重復(fù)上一動作;如果不是隱藏頁,則直接顯示第第K頁,隱藏第C頁,即當(dāng)前頁,并判斷第K頁動畫數(shù)據(jù)是否已準(zhǔn)備好,在沒有準(zhǔn)備好的情況下,還需要啟用頁動畫數(shù)據(jù)準(zhǔn)備模塊加第K頁的頁動畫數(shù)據(jù),最后激活第K頁的頁動畫,顯示頁最后一次放映時的狀態(tài)。如果是“下一頁”,則首先判斷第K頁是不是最后一頁,如果是最后一頁,則不執(zhí)行任何動作,直接結(jié)束流程,否則,K值自加1,再判斷第K頁是不是隱藏頁,如果是隱藏頁,則直接跳過第K頁,使用相同方法繼續(xù)判斷下一頁;如果不是隱藏頁,則將第K頁顯示,第C頁隱藏,即當(dāng)前頁隱藏,并調(diào)用頁動畫數(shù)據(jù)準(zhǔn)備模塊,加載第K頁的頁動畫數(shù)據(jù),加載方法是如果Slide本身有頁動畫,則直接使用第K頁的頁動畫,如果第K頁沒有頁動畫,則嘗試加載第K頁對應(yīng)的母版的動畫作為第K頁的頁動畫,如果頁動畫在放映頁數(shù)據(jù)準(zhǔn)備模塊已經(jīng)被加載,則此處只需調(diào)用頁內(nèi)動畫函數(shù)為第K頁準(zhǔn)備頁內(nèi)動畫,加載方法是首先加載對應(yīng)母版中具有動畫的所有Shape的動畫,再加載第K頁中所有具有動畫的Shape的動畫,如果此處頁內(nèi)動畫數(shù)據(jù)也已經(jīng)在放映頁數(shù)據(jù)準(zhǔn)備模塊中準(zhǔn)備好,則直接啟動第K頁頁動畫。不管是跳到上一頁,還是下一頁,都必須同步更新當(dāng)前播放狀態(tài),即C=K,使當(dāng)前頁號始終是被顯示的那頁的頁號,并將結(jié)果保存到播放狀態(tài)存儲單元,便于播放狀態(tài)管理模塊處理。
以上步驟僅用以說明而非限制本發(fā)明的技術(shù)方案。不脫離本發(fā)明精神和范圍的任何修改或局部替換,均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種SVG演示放映方法,該方法將系統(tǒng)分為應(yīng)用層、邏輯層和數(shù)據(jù)層,所述應(yīng)用層主要負(fù)責(zé)事件的接收,以及把接收到的事件分發(fā)給邏輯層中SVG演示放映器中的對應(yīng)模塊;邏輯層中的SVG演示放映器主要包括播放狀態(tài)管理模塊、放映頁數(shù)據(jù)準(zhǔn)備模塊、頁切換模塊和頁內(nèi)動畫放映模塊;數(shù)據(jù)層包括DOM原始數(shù)據(jù)定義區(qū)、DOM放映區(qū)、播放狀態(tài)存儲單元和其它數(shù)據(jù)存儲單元;該演示放映方法還包括放映頁的初始化過程和與用戶交互的過程,其特征在于,上述數(shù)據(jù)層還包括播放對象存儲單元和數(shù)據(jù)對象存儲單元,所述DOM放映區(qū)只存儲最近放映過的Slide和當(dāng)前正在放映的Slide,前者稱為節(jié)點(diǎn)一,后者稱為節(jié)點(diǎn)二。
2.根據(jù)權(quán)利要求1所述的SVG演示放映方法,其特征在于,所述數(shù)據(jù)對象存儲單元按照SVG演示文檔中自定義放映列表中Slide的放映順序存放已播放過的Slide對象集。
3.根據(jù)權(quán)利要求1所述的SVG演示放映方法,其特征在于,所述播放對象存儲單元用于存儲原始Slide數(shù)據(jù)對象集或放映頁數(shù)據(jù)準(zhǔn)備模塊生成的放映頁數(shù)據(jù)對象集的數(shù)組。
4.根據(jù)權(quán)利要求1所述的SVG演示放映方法,其特征在于,所述放映頁數(shù)據(jù)準(zhǔn)備模塊的處理流程如下在初始化事件中,按照Slide的定義順序獲取該Slide原始數(shù)據(jù),并根據(jù)該Slide原始數(shù)據(jù)合成可以直接被SVG播放器顯示的一張完整的Slide,即放映頁數(shù)據(jù),然后將該Slide對象保存到數(shù)據(jù)對象存儲單元中的相應(yīng)位置,供其它模塊使用,使用相同方法直至所有Slide轉(zhuǎn)換完畢,最后,移除DOM樹中所有原始Slide數(shù)據(jù)對應(yīng)的節(jié)點(diǎn)。如果指定了自定義放映名,則按照指定自定義放映名讀取對應(yīng)的播放列表內(nèi)容,否則按照文檔中Slide的定義順序作為播放列表內(nèi)容。
5.根據(jù)權(quán)利要求1所述的SVG演示放映方法,其特征在于,所述放映頁數(shù)據(jù)準(zhǔn)備模塊的處理流程如下在初始化事件中,按照Slide的定義順序獲取該Slide原始數(shù)據(jù),并根據(jù)該Slide原始數(shù)據(jù)合成可以直接被SVG播放器顯示的一張完整的Slide,即放映頁數(shù)據(jù),然后將該Slide對象保存到數(shù)據(jù)對象存儲單元中的相應(yīng)位置,供其它模塊使用,使用相同方法將部分Slide轉(zhuǎn)換完畢,而其他Slide可在放映前實(shí)時準(zhǔn)備,最后,移除DOM樹中所有原始Slide數(shù)據(jù)對應(yīng)的節(jié)點(diǎn)。如果指定了自定義放映名,則按照指定自定義放映名讀取對應(yīng)的播放列表內(nèi)容,否則按照文檔中Slide的定義順序作為播放列表內(nèi)容。
6.根據(jù)權(quán)利要求1所述的SVG演示放映方法,其特征在于,所述頁切換模塊的處理流程如下首先要根據(jù)當(dāng)前的狀態(tài)及動作類型,從DOM放映區(qū)刪除節(jié)點(diǎn)一,再從數(shù)據(jù)對象存儲單元中找到目的Slide對應(yīng)的對象,追加到DOM放映區(qū)中;將原來的節(jié)點(diǎn)二變成了節(jié)點(diǎn)一,新追加進(jìn)去的節(jié)點(diǎn)為節(jié)點(diǎn)二;最后,觸發(fā)節(jié)點(diǎn)二的頁切換動畫,并將節(jié)點(diǎn)二的頁索引號傳回給播放狀態(tài)管理模塊,由它對當(dāng)前播放狀態(tài)進(jìn)行更新,將結(jié)果保存在播放狀態(tài)存儲單元中,完成整個頁切換動作。
全文摘要
本發(fā)明涉及計算機(jī)應(yīng)用領(lǐng)域,尤其涉及一種SVG演示放映方法。一種SVG演示放映方法,該方法將系統(tǒng)分為應(yīng)用層、邏輯層和數(shù)據(jù)層,數(shù)據(jù)層包括DOM原始數(shù)據(jù)定義區(qū)、DOM放映區(qū)、播放狀態(tài)存儲單元和其它數(shù)據(jù)存儲單元;該演示放映方法還包括放映頁的初始化過程和與用戶交互的過程,其中,上述數(shù)據(jù)層還包括播放對象存儲單元和數(shù)據(jù)對象存儲單元,所述DOM放映區(qū)只存儲最近放映過的Slide和當(dāng)前正在放映的Slide。與現(xiàn)有技術(shù)現(xiàn)相比,本發(fā)明演示放映方法使得原來無法實(shí)現(xiàn)的一些諸如交互動畫的特殊需求游刃而解,放映系統(tǒng)功能更為強(qiáng)大,更具擴(kuò)展性,而且加快了執(zhí)行速度,提高了效率。
文檔編號G06F17/30GK1862535SQ20061003386
公開日2006年11月15日 申請日期2006年2月23日 優(yōu)先權(quán)日2006年2月23日
發(fā)明者熊玉輝, 曾崴 申請人:珠海金山軟件股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
清涧县| 芷江| 温州市| 台北县| 盱眙县| 富顺县| 阿拉善右旗| 绥德县| 昌吉市| 金华市| 宁乡县| 民乐县| 红河县| 墨脱县| 博乐市| 三河市| 莆田市| 陵水| 大厂| 黄大仙区| 车致| 沙田区| 福海县| 昌平区| 崇礼县| 邢台市| 甘德县| 普兰县| 罗定市| 汶上县| 绥中县| 兰坪| 资阳市| 无为县| 凌源市| 太康县| 济阳县| 临江市| 平安县| 含山县| 衡山县|