用于座艙顯示系統(tǒng)的顯示屏觸控系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種用于座艙顯示系統(tǒng)的顯示屏觸控系統(tǒng)及方法,觸控系統(tǒng)包括觸摸組件模塊、座艙顯示系統(tǒng)內(nèi)核、定義文件模塊和用戶應(yīng)用模塊。本發(fā)明的觸控方法利用ARINC661規(guī)范中定義的窗體部件,通過用戶應(yīng)用和座艙顯示系統(tǒng)內(nèi)核間指令交互,在觸摸敏感的顯示器上,實現(xiàn)局部畫面區(qū)域跟隨觸摸點實時移動的功能,使座艙顯示畫面控制更加靈活高效。
【專利說明】用于座艙顯示系統(tǒng)的顯示屏觸控系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及航空領(lǐng)域的計算機信息處理技術(shù),特別涉及一種基于ARINC661規(guī)范、在觸敏顯示器上實現(xiàn)局部畫面區(qū)域隨屏幕觸點實時移動的方法。
【背景技術(shù)】
[0002]隨著綜合航電系統(tǒng)的迅速發(fā)展,作為航電系統(tǒng)中重要組成部分的座艙顯示系統(tǒng)也向著開放式構(gòu)架發(fā)展,為適應(yīng)這種發(fā)展趨勢,ARINC661規(guī)范應(yīng)運而生,并得到了迅速的發(fā)展。該規(guī)范將UA (User Applications,用戶應(yīng)用)的邏輯功能與⑶S (Cockpit DisplaySystem,座艙顯示系統(tǒng))的畫面生成功能相隔離,并為兩者提供了標(biāo)準(zhǔn)化的接口。
[0003]基于ARINC661的座艙顯控系統(tǒng),其⑶S內(nèi)核具有很好的通用性和擴展性。在開發(fā)階段,設(shè)計人員只需根據(jù)飛行員操作手冊,設(shè)計DF (Definition File,定義文件)和對應(yīng)的UA邏輯,即可實現(xiàn)對畫面的控制和管理,大大縮短了開發(fā)周期,節(jié)約開發(fā)成本,具有重要意義。
[0004]飛機座艙顯示器一般采用周邊鍵按鈕實現(xiàn)人機交互,在設(shè)計顯控畫面時,按鈕的設(shè)置數(shù)目及顯示位置受到很大限制,且每個按鈕在不同顯示狀態(tài)下具有不同含義,功能設(shè)計上也有較大局限性。隨著電阻式、電容式、紅外式等多種類型觸摸屏的發(fā)展,具有觸敏功能的綜合一體化大屏顯示器在飛機座艙中得到了應(yīng)用,座艙顯控畫面的設(shè)計變得靈活,飛行員在進行人機交互時,操作更加直觀、高效。
【發(fā)明內(nèi)容】
[0005]本發(fā)明所要解決的技術(shù)問題是提供一種基于ARINC661的局部畫面區(qū)域隨屏幕觸點實時移動的設(shè)計與實現(xiàn)方法,利用ARINC661規(guī)范中定義的窗體部件,通過UA和CDS內(nèi)核間指令交互,在觸摸敏感的顯示器上,實現(xiàn)局部畫面區(qū)域跟隨觸摸點實時移動的功能,使座艙顯示畫面控制更加方便高效。
[0006]基于ARINC661規(guī)范的座艙顯控系統(tǒng),對顯示畫面位置的管理一般通過操作Button類窗體部件向UA發(fā)出指令,UA響應(yīng)后對顯示畫面進行切換或重置圖層顯示位置。運用這種方法,在設(shè)計顯示畫面時需要包含較多的Button類窗體部件,同時UA也要為這些窗體部件一一設(shè)計對應(yīng)的邏輯處理,以實現(xiàn)圖層變換功能。為了節(jié)約畫面空間、簡化設(shè)計過程,本發(fā)明提供一種基于ARINC661的局部畫面區(qū)域隨屏幕觸點實時移動的設(shè)計方法和實現(xiàn)步驟,可運用在具有觸敏功能的顯示器上,通過人機交互實現(xiàn)局部畫面區(qū)域隨屏幕觸點的實時移動。
[0007]本發(fā)明為解決上述技術(shù)問題采用以下技術(shù)方案:
一方面,本發(fā)明提供一種用于座艙顯示系統(tǒng)的顯示屏觸控系統(tǒng),包括:
觸摸組件模塊,用于定義和管理飛行員對觸屏的操作行為,當(dāng)飛行員對觸屏進行操作時,實時將觸點的屏幕坐標(biāo)、操作行為的狀態(tài)發(fā)送至座艙顯示系統(tǒng)內(nèi)核;
定義文件模塊,用于設(shè)計滿足ARINC661規(guī)范的二進制格式定義文件; 用戶應(yīng)用模塊,用于設(shè)計用戶應(yīng)用的邏輯處理,實現(xiàn)與座艙顯示系統(tǒng)內(nèi)核的正確交
互;
座艙顯示系統(tǒng)內(nèi)核,用于加載和解析定義文件模塊的定義文件,接收和處理飛行員對觸屏的操作行為,與用戶應(yīng)用模塊實現(xiàn)指令解析和交互、渲染顯示畫面。
[0008]進一步的,所述飛行員對觸屏的操作行為包括三種狀態(tài):手指觸碰到屏幕、手指與屏眷保持接觸、手指尚開屏眷。
[0009]進一步的,所述座艙顯示系統(tǒng)內(nèi)核包括窗體部件管理模塊、定義文件加載模塊、觸屏信息處理模塊、消息指令發(fā)送模塊、用戶應(yīng)用指令接收模塊、圖形渲染模塊,其中:
所述窗體部件管理模塊,用于為每一種窗體部件提供以下功能實現(xiàn):
(1)在定義階段,根據(jù)定義文件中的描述創(chuàng)建該種窗體部件,即實例化該窗體部件并對其所有參數(shù)進行初始設(shè)置;
(2)對于該窗體部件的所有運行階段可變參數(shù),當(dāng)接收到用戶應(yīng)用模塊發(fā)出的相關(guān)ARINC661指令時,該窗體部件可實現(xiàn)對指令的解析,從而響應(yīng)該指令信息;
(3)如該種窗體部件為交互式窗體部件,即當(dāng)操控人員通過觸摸組件模塊對該種窗體部件進行操作時,該窗體部件能夠正確響應(yīng)操作行為,并按照ARINC661規(guī)范相應(yīng)的事件通報信息進行打包處理;
所述定義文件加載模塊,用于為座艙顯示系統(tǒng)內(nèi)核提供定義文件加載接口,接收定義文件模塊所設(shè)計的二進制定義文件,交給窗體部件管理模塊進行解析并實例化;
所述觸屏信息處理模塊,用于接收觸摸組件模塊傳來的觸屏信息,根據(jù)觸點的屏幕坐標(biāo)、操作行為的狀態(tài)來判斷該操作行為所對應(yīng)觸發(fā)的窗體部件的事件,并將觸屏信息傳給窗體部件管理模塊進行解析和消息的打包;
所述消息指令發(fā)送模塊,用于將窗體部件管理模塊打包好的ARINC661消息發(fā)送給用戶應(yīng)用模塊;
所述用戶應(yīng)用指令接收模塊,用于接收用戶應(yīng)用模塊發(fā)送給座艙顯示系統(tǒng)內(nèi)核的ARINC661指令,根據(jù)指令中的信息定位目標(biāo)窗體部件,并將指令內(nèi)容發(fā)送給窗體部件管理模塊進行解析;
所述圖形渲染模塊,用于將窗體部件管理模塊中實例化的各窗體部件,根據(jù)其參數(shù)信息,在顯示單元中進行渲染。
[0010]進一步的,定義文件模塊設(shè)計滿足ARINC661規(guī)范的二進制格式定義文件,具體包括以下步驟:
步驟1,在圖層上設(shè)計一個CursorOver窗體部件,其有效區(qū)域覆蓋可移動對象的整個活動范圍,用于采集觸摸點移動時的相對坐標(biāo)位置,其PositionReportMode參數(shù)設(shè)為ReportAll, Enable 參數(shù)設(shè)為 A661_FALSE ;
步驟2,在步驟I的圖層上再設(shè)計一個BasicContainer窗體部件,包含需要整體移動的全部窗體部件對象,這些窗體部件全部定義在所述的CursorOver覆蓋區(qū)域內(nèi),BasicContainer最后一個子窗體部件設(shè)計為CursorPosOverlay窗體部件,用于采集手指觸到可移動區(qū)域的第一個點及離開時的最后一個點,其活動區(qū)域根據(jù)需整體移動的全部窗體部件覆蓋位置決定。
[0011]進一步的,所述用戶應(yīng)用模塊設(shè)計用戶應(yīng)用的邏輯處理,具體包括以下步驟: 步驟1,當(dāng)座艙顯示系統(tǒng)內(nèi)核接收到觸點狀態(tài)為手指觸碰到屏幕,且坐標(biāo)位置在CursorPosOverlay窗體部件的活動區(qū)域內(nèi)時,座艙顯示系統(tǒng)內(nèi)核向用戶應(yīng)用模塊發(fā)出一條CursorPosOverlay窗體部件的A661_EVT_CURS0R_P0S_CHANGE事件通報,用戶應(yīng)用模塊接收到該事件后,根據(jù)其中包含的窗體部件號WidgetID向座艙顯示系統(tǒng)內(nèi)核發(fā)出ARINC661指令,激活對應(yīng)區(qū)域的CursorOver窗體部件,將其Enable參數(shù)設(shè)為A661_TRUE,并判斷出需要移動的BasicContainer窗體部件,記錄該BasicContainer的窗體部件號WidgetID ;步驟2,當(dāng)觸點狀態(tài)為手指與屏幕保持接觸、坐標(biāo)位置在CursorOver窗體部件的有效區(qū)域內(nèi),且CursorOver處于激活狀態(tài)時,座艙顯示系統(tǒng)內(nèi)核向用戶應(yīng)用模塊發(fā)送CursorOver窗體部件的A661_EVT_CURS0R_INSIDE事件通報,通報中還包含實時觸點位置,用戶應(yīng)用模塊接收到該事件通報后,計算出觸點在屏幕上移動的相對距離,根據(jù)該相對距離給當(dāng)前移動的BasicContainer窗體部件發(fā)送包含其原點坐標(biāo)(PosX、PosY)的ARINC661指令,從而修改該BasicContainer的原點坐標(biāo),使BasicContainer容器內(nèi)所有窗體部件在顯示畫面上的位置發(fā)生整體移動;
步驟3,當(dāng)觸點狀態(tài)為手指離開屏幕,且坐標(biāo)位置在CursorPosOverlay窗體部件的活動區(qū)域內(nèi)時,座艙顯示系統(tǒng)內(nèi)核向用戶應(yīng)用模塊發(fā)出一條CursorPosOverlay窗體部件的A661_EVT_CURS0R_P0S_CHANGE事件通報,用戶應(yīng)用模塊接收到該事件后,根據(jù)其中包含的信息將對應(yīng)區(qū)域的CursorOver窗體部件設(shè)為非激活狀態(tài),將其Enable參數(shù)設(shè)為A661_FALSE,從而完成局部畫面的重新定位操作。
[0012]進一步的,所述CursorPosOverlay窗體部件的活動區(qū)域為CursorPosOverlay窗體部件的有效覆蓋區(qū)域,所述有效覆蓋區(qū)域不包括其他有效交互式窗體部件的區(qū)域。。
[0013]進一步的,所述窗體部件管理模塊中的窗體部件包括ARINC661規(guī)范所規(guī)定的全部窗體部件和用戶自定義窗體部件。
[0014]另一方面,本發(fā)明還提出一種用于座艙顯示系統(tǒng)的顯示屏觸控方法,包括以下步驟:
步驟1,在系統(tǒng)定義階段,座艙顯示系統(tǒng)內(nèi)核加載定義文件模塊所設(shè)計的二進制格式定義文件,實例化所有窗體部件,并對各參數(shù)值進行初始設(shè)置;
步驟2,在系統(tǒng)運行階段,當(dāng)需要移動某一指定畫面區(qū)域時,手指觸摸屏幕該區(qū)域,觸摸組件模塊采集操作行為信息,并將數(shù)據(jù)傳給座艙顯示系統(tǒng)內(nèi)核;
步驟3,座艙顯示系統(tǒng)內(nèi)核掃描畫面上的有效交互式部件,判斷觸摸點所對應(yīng)的窗體部件,如觸摸點處于需要移動的CursorPosOverlay窗體部件的活動區(qū)域內(nèi),則按照ARINC661規(guī)定的格式打包一條A661_EVT_CURS0R_P0S_CHANGE事件指令,并發(fā)送給用戶應(yīng)用模塊;步驟4,用戶應(yīng)用模塊接收到步驟3中的事件指令,根據(jù)其中包含的信息,激活對應(yīng)區(qū)域的CursorOver窗體部件,并判斷出需要移動的BasicContainer,記錄其窗體部件號WidgetID ;
步驟5,觸摸點在屏幕上移動,觸摸組件模塊實時采集操作行為信息,并將數(shù)據(jù)傳給座艙顯示系統(tǒng)內(nèi)核;
步驟6,座艙顯示系統(tǒng)內(nèi)核實時接收步驟5中的操作行為信息,并進行解析,產(chǎn)生觸點處CursorOver窗體部件的A661_EVT_CURS0R_INSIDE事件通報,根據(jù)ARINC661指令格式打包該事件通報并發(fā)送給用戶應(yīng)用模塊; 步驟7,用戶應(yīng)用模塊接收到步驟6中的事件通報,根據(jù)其中包含的實時觸點位置,計算出觸點當(dāng)前移動的相對距離,再根據(jù)該相對距離,重置步驟4中標(biāo)記的BasicContainer窗體部件的原點位置,從而使該BasicContainer容器內(nèi)所有窗體部件的屏幕坐標(biāo)位置發(fā)生整體移動;
步驟8,返回步驟5,直至手指離開觸摸屏,當(dāng)系統(tǒng)將資源分配給畫面渲染任務(wù)時,座艙顯示系統(tǒng)內(nèi)核根據(jù)各窗體部件當(dāng)前的參數(shù)值,對顯示單元畫面進行渲染,從而在屏幕上實現(xiàn)局部畫面區(qū)域跟隨觸摸點實時移動的響應(yīng)行為;
步驟9,確定可移動區(qū)域的終止位置后,手指離開觸摸屏,觸摸組件模塊采集最終的觸點信息,并將其傳給座艙顯示系統(tǒng)內(nèi)核;
步驟10,座艙顯示系統(tǒng)內(nèi)核接收到步驟9中的信息,產(chǎn)生觸摸點處CursorPosOverlay窗體部件的A661_EVT_CURS0R_P0S_CHANGE事件,根據(jù)ARINC661指令格式打包該事件指令,并發(fā)送給用戶應(yīng)用模塊;
步驟11,用戶應(yīng)用模塊接收到步驟10中的事件指令,根據(jù)其中包含的信息,將對應(yīng)區(qū)域的CursorOver窗體部件置于非激活狀態(tài),座艙顯示系統(tǒng)內(nèi)核根據(jù)各窗體部件當(dāng)前的參數(shù)值,對顯示單元畫面進行渲染,最終完成局部畫面區(qū)域根據(jù)觸點重新定位的操作。
[0015]進一步的,上述用于座艙顯示系統(tǒng)的顯示屏觸控方法,步驟3中所述CursorPosOverlay窗體部件的活動區(qū)域為CursorPosOverlay窗體部件的有效覆蓋區(qū)域,所述有效覆蓋區(qū)域不包括其他有效交互式窗體部件的區(qū)域。。
[0016]進一步的,上述用于座艙顯示系統(tǒng)的顯示屏觸控方法,步驟6中所述事件通報包含發(fā)生事件CursorOver的窗體部件號WidgetID及實時觸點位置,所述實時觸點位置為相對于該窗體部件原點的坐標(biāo)位置。
[0017]本發(fā)明采用以上技術(shù)方案與現(xiàn)有技術(shù)相比,利用ARINC661規(guī)范中定義的窗體部件,通過用戶應(yīng)用UA和座艙顯示系統(tǒng)CDS內(nèi)核間指令交互,在觸摸敏感的顯示器上,實現(xiàn)局部畫面區(qū)域跟隨觸摸點實時移動的功能,使座艙顯示畫面控制更加方便高效;可運用在具有觸敏功能的顯示器上,通過人機交互實現(xiàn)局部畫面區(qū)域隨屏幕觸點的實時移動,有效節(jié)約畫面空間、簡化設(shè)計過程。
【專利附圖】
【附圖說明】
[0018]圖1是本發(fā)明所設(shè)計的系統(tǒng)結(jié)構(gòu)示意圖。
[0019]圖2是座艙顯示系統(tǒng)內(nèi)核設(shè)計模塊的結(jié)構(gòu)示意圖。
[0020]圖3是局部畫面區(qū)域隨屏幕觸點實時移動過程中⑶S內(nèi)核與UA指令交互示意圖?!揪唧w實施方式】
[0021]下面詳細(xì)描述本發(fā)明的實施方式,所述實施方式的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施方式是示例性的,僅用于解釋本發(fā)明,而不能解釋為對本發(fā)明的限制。
[0022]本【技術(shù)領(lǐng)域】技術(shù)人員可以理解的是,除非特意聲明,這里使用的單數(shù)形式“一”、“一個”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進一步理解的是,本發(fā)明的說明書中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱元件被“連接”或“耦接”到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或耦接。這里使用的措辭“和/或”包括一個或更多個相關(guān)聯(lián)的列出項的任一單元和全部組合。
[0023]本【技術(shù)領(lǐng)域】技術(shù)人員可以理解的是,除非另外定義,這里使用的所有術(shù)語(包括技術(shù)術(shù)語和科學(xué)術(shù)語)具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣定義,不會用理想化或過于正式的含義來解釋。
[0024]下面結(jié)合附圖對本發(fā)明的技術(shù)方案做進一步的詳細(xì)說明:
本發(fā)明涉及到的本領(lǐng)域常用技術(shù)術(shù)語,如下表所示:_
【權(quán)利要求】
1.用于座艙顯示系統(tǒng)的顯示屏觸控系統(tǒng),其特征在于,包括: 觸摸組件模塊,用于定義和管理飛行員對觸屏的操作行為,當(dāng)飛行員對觸屏進行操作時,實時將觸點的屏幕坐標(biāo)、操作行為的狀態(tài)發(fā)送至座艙顯示系統(tǒng)內(nèi)核; 定義文件模塊,用于設(shè)計滿足ARINC661規(guī)范的二進制格式定義文件; 用戶應(yīng)用模塊,用于設(shè)計用戶應(yīng)用的邏輯處理,實現(xiàn)與座艙顯示系統(tǒng)內(nèi)核的正確交互; 座艙顯示系統(tǒng)內(nèi)核,用 于加載和解析定義文件模塊的定義文件,接收和處理飛行員對觸屏的操作行為,與用戶應(yīng)用模塊實現(xiàn)指令解析和交互、渲染顯示畫面。
2.根據(jù)權(quán)利要求1所述的用于座艙顯示系統(tǒng)的顯示屏觸控系統(tǒng),其特征在于,所述飛行員對觸屏的操作行為包括三種狀態(tài):手指觸碰到屏幕、手指與屏幕保持接觸、手指離開屏眷。
3.根據(jù)權(quán)利要求1所述的用于座艙顯示系統(tǒng)的顯示屏觸控系統(tǒng),其特征在于,所述座艙顯示系統(tǒng)內(nèi)核包括窗體部件管理模塊、定義文件加載模塊、觸屏信息處理模塊、消息指令發(fā)送模塊、用戶應(yīng)用指令接收模塊、圖形渲染模塊,其中: 所述窗體部件管理模塊,用于為每一種窗體部件提供以下功能實現(xiàn): (1)在定義階段,根據(jù)定義文件中的描述創(chuàng)建該種窗體部件,即實例化該窗體部件并對其所有參數(shù)進行初始設(shè)置; (2)對于該窗體部件的所有運行階段可變參數(shù),當(dāng)接收到用戶應(yīng)用模塊發(fā)出的相關(guān)ARINC661指令時,該窗體部件可實現(xiàn)對指令的解析,從而響應(yīng)該指令信息; (3)如該種窗體部件為交互式窗體部件,即當(dāng)操控人員通過觸摸組件模塊對該種窗體部件進行操作時,該窗體部件能夠正確響應(yīng)操作行為,并按照ARINC661規(guī)范相應(yīng)的事件通報信息進行打包處理; 所述定義文件加載模塊,用于為座艙顯示系統(tǒng)內(nèi)核提供定義文件加載接口,接收定義文件模塊所設(shè)計的二進制定義文件,交給窗體部件管理模塊進行解析并實例化; 所述觸屏信息處理模塊,用于接收觸摸組件模塊傳來的觸屏信息,根據(jù)觸點的屏幕坐標(biāo)、操作行為的狀態(tài)來判斷該操作行為所對應(yīng)觸發(fā)的窗體部件的事件,并將觸屏信息傳給窗體部件管理模塊進行解析和消息的打包; 所述消息指令發(fā)送模塊,用于將窗體部件管理模塊打包好的ARINC661消息發(fā)送給用戶應(yīng)用模塊; 所述用戶應(yīng)用指令接收模塊,用于接收用戶應(yīng)用模塊發(fā)送給座艙顯示系統(tǒng)內(nèi)核的ARINC661指令,根據(jù)指令中的信息定位目標(biāo)窗體部件,并將指令內(nèi)容發(fā)送給窗體部件管理模塊進行解析; 所述圖形渲染模塊,用于將窗體部件管理模塊中實例化的各窗體部件,根據(jù)其參數(shù)信息,在顯示單元中進行渲染。
4.根據(jù)權(quán)利要求1所述的用于座艙顯示系統(tǒng)的顯示屏觸控系統(tǒng),其特征在于,定義文件模塊設(shè)計滿足ARINC661規(guī)范的二進制格式定義文件,具體包括以下步驟: 步驟1,在圖層上設(shè)計一個CursorOver窗體部件,其有效區(qū)域覆蓋可移動對象的整個活動范圍,用于采集觸摸點移動時的相對坐標(biāo)位置,其PositionReportMode參數(shù)設(shè)為ReportAll, Enable 參數(shù)設(shè)為 A661_FALSE ;步驟2,在步驟I的圖層上再設(shè)計一個BasicContainer窗體部件,包含需要整體移動的全部窗體部件對象,這些窗體部件全部定義在所述的CursorOver覆蓋區(qū)域內(nèi),BasicContainer最后一個子窗體部件設(shè)計為CursorPosOverlay窗體部件,用于采集手指觸到可移動區(qū)域的第一個點及離開時的最后一個點,其活動區(qū)域根據(jù)需整體移動的全部窗體部件覆蓋位置決定。
5.根據(jù)權(quán)利要求1所述的用于座艙顯示系統(tǒng)的顯示屏觸控系統(tǒng),其特征在于,所述用戶應(yīng)用模塊設(shè)計用戶應(yīng)用的邏輯處理,具體包括以下步驟: 步驟1,當(dāng)座艙顯示系統(tǒng)內(nèi)核接收到觸點狀態(tài)為手指觸碰到屏幕,且坐標(biāo)位置在CursorPosOverlay窗體部件的活動區(qū)域內(nèi)時,座艙顯示系統(tǒng)內(nèi)核向用戶應(yīng)用模塊發(fā)出一條CursorPosOverlay窗體部件的A661_EVT_CURS0R_P0S_CHANGE事件通報,用戶應(yīng)用模塊接收到該事件后,根據(jù)其中包含的窗體部件號WidgetID向座艙顯示系統(tǒng)內(nèi)核發(fā)出ARINC661指令,激活對應(yīng)區(qū)域的CursorOver窗體部件,將其Enab I e參數(shù)設(shè)為A661_TRUE,并判斷出需要移動的BasicContainer窗體部件,記錄該BasicContainer的窗體部件號WidgetID ; 步驟2,當(dāng)觸點狀態(tài)為手指與屏幕保持接觸、坐標(biāo)位置在CursorOver窗體部件的有效區(qū)域內(nèi),且CursorOver處于激活狀態(tài)時,座艙顯示系統(tǒng)內(nèi)核向用戶應(yīng)用模塊發(fā)送CursorOver窗體部件的A661_EVT_CURS0R_INSIDE事件通報,通報中還包含實時觸點位置,用戶應(yīng)用模塊接收到該事件通報后,計算出觸點在屏幕上移動的相對距離,根據(jù)該相對距離給當(dāng)前移動的BasicContainer窗體部件發(fā)送包含其原點坐標(biāo)(PosX、PosY)的ARINC661指令,從而修改該BasicContainer的原點坐標(biāo),使BasicContainer容器內(nèi)所有窗體部件在顯示畫面上的位置發(fā)生整體移動; 步驟3,當(dāng)觸點狀態(tài)為手指離開屏幕,且坐標(biāo)位置在CursorPosOverlay窗體部件的活動區(qū)域內(nèi)時,座艙顯示系統(tǒng)內(nèi)核向用戶應(yīng)用模塊發(fā)出一條CursorPosOverlay窗體部件的A661_EVT_CURS0R_P0S_CHANGE事件通報,用戶應(yīng)用模塊接收到該事件后,根據(jù)其中包含的信息將對應(yīng)區(qū)域的CursorOver窗體部件設(shè)為非激活狀態(tài),將其Enable參數(shù)設(shè)為A661_FALSE,從而完成局部畫面的重新定位操作。
6.根據(jù)權(quán)利要求5所述的用于座艙顯示系統(tǒng)的顯示屏觸控系統(tǒng),其特征在于,所述CursorPosOverlay窗體部件的活動區(qū)域為CursorPosOverlay窗體部件的有效覆蓋區(qū)域,所述有效覆蓋區(qū)域不包括其他有效交互式窗體部件的區(qū)域。
7.根據(jù)權(quán)利要求3所述的用于座艙顯示系統(tǒng)的顯示屏觸控系統(tǒng),其特征在于,所述窗體部件管理模塊中的窗體部件包括ARINC661規(guī)范所規(guī)定的全部窗體部件和用戶自定義窗體部件。
8.一種用于座艙顯示系統(tǒng)的顯示屏觸控方法,其特征在于,包括以下步驟: 步驟1,在系統(tǒng)定義階段,座艙顯示系統(tǒng)內(nèi)核加載定義文件模塊所設(shè)計的二進制格式定義文件,實例化所有窗體部件,并對各參數(shù)值進行初始設(shè)置; 步驟2,在系統(tǒng)運行階段,當(dāng)需要移動某一指定畫面區(qū)域時,手指觸摸屏幕該區(qū)域,觸摸組件模塊采集操作行為信息,并將數(shù)據(jù)傳給座艙顯示系統(tǒng)內(nèi)核; 步驟3,座艙顯示系統(tǒng)內(nèi)核掃描畫面上的有效交互式部件,判斷觸摸點所對應(yīng)的窗體部件,如觸摸點處于需要移動的CursorPosOverlay窗體部件的活動區(qū)域內(nèi),則按照ARINC661規(guī)定的格式打包一條A661_EVT_CURS0R_P0S_CHANGE事件指令,并發(fā)送給用戶應(yīng)用模塊;步驟4,用戶應(yīng)用模塊接收到步驟3中的事件指令,根據(jù)其中包含的信息,激活對應(yīng)區(qū)域的CursorOver窗體部件,并判斷出需要移動的BasicContainer,記錄其窗體部件號WidgetID ; 步驟5,觸摸點在屏幕上移動,觸摸組件模塊實時采集操作行為信息,并將數(shù)據(jù)傳給座艙顯示系統(tǒng)內(nèi)核; 步驟6,座艙顯示系統(tǒng)內(nèi)核實時接收步驟5中的操作行為信息,并進行解析,產(chǎn)生觸點處CursorOver窗體部件的A661_EVT_CURS0R_INSIDE事件通報,根據(jù)ARINC661指令格式打包該事件通報并發(fā)送給用戶應(yīng)用模塊; 步驟7,用戶應(yīng)用模塊接收到步驟6中的事件通報,根據(jù)其中包含的實時觸點位置,計算出觸點當(dāng)前移動的相對距離,再根據(jù)該相對距離,重置步驟4中標(biāo)記的BasicContainer窗體部件的原點位置,從而使該BasicContainer容器內(nèi)所有窗體部件的屏幕坐標(biāo)位置發(fā)生整體移動; 步驟8,返回步驟5,直至手指離開觸摸屏,當(dāng)系統(tǒng)將資源分配給畫面渲染任務(wù)時,座艙顯示系統(tǒng)內(nèi)核根據(jù)各窗體部件當(dāng)前的參數(shù)值,對顯示單元畫面進行渲染,從而在屏幕上實現(xiàn)局部畫面區(qū)域跟隨觸摸點實時移動的響應(yīng)行為; 步驟9,確定可移動區(qū)域的終止位置后,手指離開觸摸屏,觸摸組件模塊采集最終的觸點信息,并將其傳給 座艙顯示系統(tǒng)內(nèi)核; 步驟10,座艙顯示系統(tǒng)內(nèi)核接收到步驟9中的信息,產(chǎn)生觸摸點處CursorPosOverlay窗體部件的A661_EVT_CURS0R_P0S_CHANGE事件,根據(jù)ARINC661指令格式打包該事件指令,并發(fā)送給用戶應(yīng)用模塊; 步驟11,用戶應(yīng)用模塊接收到步驟10中的事件指令,根據(jù)其中包含的信息,將對應(yīng)區(qū)域的CursorOver窗體部件置于非激活狀態(tài),座艙顯示系統(tǒng)內(nèi)核根據(jù)各窗體部件當(dāng)前的參數(shù)值,對顯示單元畫面進行渲染,最終完成局部畫面區(qū)域根據(jù)觸點重新定位的操作。
9.根據(jù)權(quán)利要求8所述的一種用于座艙顯示系統(tǒng)的顯示屏觸控方法,其特征在于,步驟3中所述CursorPosOverlay窗體部件的活動區(qū)域為CursorPosOverlay窗體部件的有效覆蓋區(qū)域,所述有效覆蓋區(qū)域不包括其他有效交互式窗體部件的區(qū)域。
10.根據(jù)權(quán)利要求8所述的一種用于座艙顯示系統(tǒng)的顯示屏觸控方法,其特征在于,步驟6中所述事件通報包含發(fā)生事件CursorOver的窗體部件號WidgetID及實時觸點位置,所述實時觸點位置為相對于該窗體部件原點的坐標(biāo)位置。
【文檔編號】G06F3/0488GK103984438SQ201410179587
【公開日】2014年8月13日 申請日期:2014年4月30日 優(yōu)先權(quán)日:2014年4月30日
【發(fā)明者】鄭澄, 孫永榮, 王達(dá), 李榮冰, 王暉, 熊智, 趙文獻, 李笑瑜, 錢雪佳 申請人:南京航空航天大學(xué)