• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    wxWidgets事件處理機制

    2014-03-14 01:26:12張曉民
    電腦與電信 2014年4期
    關(guān)鍵詞:基類窗體跨平臺

    張 楓 張曉民

    (南陽理工學(xué)院軟件學(xué)院,河南 南陽 473000)

    wxWidgets事件處理機制

    張 楓 張曉民

    (南陽理工學(xué)院軟件學(xué)院,河南 南陽 473000)

    wxWidgets是一個可以在多個平臺上進行圖形用戶界面開發(fā)的C++語言框架庫。如同其它所有的GUI框架一樣,wxWidgets的程序控制采用事件驅(qū)動的方式。wxWidgets主要有兩種方法來處理事件:一種通過事件表宏定義靜態(tài)地把事件和事件處理過程綁定在一起;另外一種通過函數(shù)動態(tài)地綁定事件和事件處理過程。本文介紹了這兩種事件處理方法并對其作出分析比較,說明了動態(tài)事件處理機制代碼量稍大但比靜態(tài)事件表機制更加靈活方便。

    跨平臺;事件驅(qū)動;綁定

    1.引言

    wxWidgets是一個開源跨平臺(操作系統(tǒng))的C++框架(framework)庫,它可以提供豐富的圖形用戶界面(GUI:Graphical User Interface)應(yīng)用程序接口(API:Application Programming Interface)。用戶的程序開發(fā)工作在很大程度上是在進行界面設(shè)計,其工作量往往占整個開發(fā)工作的60%-70%[1],wx-Widgets通過隱藏平臺相關(guān)代碼,與不同系統(tǒng)及編譯器各自對應(yīng)的庫相連接,用wxWidgets開發(fā)的應(yīng)用程序?qū)尸F(xiàn)出最適合于那個平臺的外觀和感覺,增強程序的靈活性和可移植性,在很大程度上減少用戶在進行界面設(shè)計時的開發(fā)工作。這種平臺無關(guān)性,即"Write Once Run Everywhere"的理念,使得wxWidgets在程序開發(fā)中具有實際的意義。你不需要重新學(xué)習(xí)某個特定平臺的API,而且,你的程序可能在將來很長時間仍然不會過時,因為隨著計算機科技的演進,wx-Widgets也將會進行相應(yīng)的演進,這樣你的程序?qū)芊奖愕匾浦驳綄淼淖钚碌牟僮飨到y(tǒng)以支持最新的特性而不需要學(xué)習(xí)[2,3]。WxWidgets提供了對現(xiàn)今幾乎所有流行操作系統(tǒng)平臺和移動開發(fā)平臺的支持,但不同于java的跨平臺特性。Java語言的跨平臺是建立在“中間代碼”的基礎(chǔ)上的,而wxWidgets被直接翻譯成機器碼,從而獲得速度上的優(yōu)勢[3]。在GUI編程方面,這意味著很大的不同。wxWidgets在世界范圍內(nèi)廣泛應(yīng)用于各個領(lǐng)域,用戶有個體軟件開發(fā)者、科研院校,以及AOL、AMD等大公司[4]。在我國,wxWidgets的研究還很少,使用者也非常有限[5]。但隨著蘋果的崛起,Linux操作系統(tǒng)的大力推廣以及移動設(shè)備種類的日漸豐富,免費、開源、靈活易用的wxWidgets已經(jīng)成為程序員進行跨平臺軟件開發(fā)的一個重要選擇。本文就wxWidgets事件處理的方法進行了研究和探討。

    2.事件驅(qū)動

    事件是GUI程序的重要部分,所有的GUI程序都是事件驅(qū)動的[2,6,7]。事件可以定義為程序發(fā)生了某些事情的信號。外部用戶行為,如移動鼠標、點擊鼠標和按下鍵盤等,操作系統(tǒng)或程序行為,如時鐘,網(wǎng)絡(luò)等也可以引發(fā)事件。事件驅(qū)動可以定義為:應(yīng)用程序開始運行之后就設(shè)置一個循環(huán)等待用戶或其它的事件源產(chǎn)生事件,一旦接收到某個事件,就將它交給某個事件函數(shù)進行處理[7]。雖然看上去不同的窗口是同時被刷新的,但實際上,絕大多數(shù)的GUI程序仍然是單線程的[2]。

    事件機制是GUI程序開發(fā)的重中之重。wxWidgets事件處理系統(tǒng)比起通常的虛方法機制來說要稍微復(fù)雜一點,但它的一個好處是可以避免需要實現(xiàn)基類中所有的虛方法,因為實現(xiàn)所有的基類虛方法有時候是不切實際的或者是效率很低的[2]。wxWidgets的事件可以由三部分來描述:

    (1)事件類型(Event Type):唯一標示事件類型的整型值,在wxWidgets中的定義如下:typedef int wxEventType。當(dāng)應(yīng)用程序發(fā)生不同的事情會產(chǎn)生不同類型的事件。

    (2)事件類(Event Class):wxWidgets封裝了諸如Windows里的message、GTK+的signal,將事件統(tǒng)一抽象成為事件類wxEvent,又從這個基類派生了很多的事件類。事件類攜帶了和事件相關(guān)的一些信息,從而使得不同的事件都有相應(yīng)的事件類與之對應(yīng)[2];不同的事件也可以使用相同的事件類??傊?,不管事件是如何產(chǎn)生的,都可以以相同的方式來進行處理。wxWidgets能處理的事件有按鈕事件、鍵盤事件和鼠標事件等,它們都是wxEvent的子類。

    (3)事件源(Event Source):wxEvent存儲了產(chǎn)生事件的對象和它的窗體標示符(Window Identifier)。窗體標示符是事件系統(tǒng)中唯一確定事件產(chǎn)生源(窗口)的整數(shù)。不同的窗體可能會產(chǎn)生相同類型的事件,通過窗體標示符可以對它們加以區(qū)分。

    wxWidgets有兩種主要的事件處理方法,一是靜態(tài)事件表機制,二是動態(tài)事件處理方法。下文將介紹兩種方法并對其進行比較分析。

    3.靜態(tài)事件表

    wxWidgets對事件的處理是通過事件處理器(Event Handler)來完成的,每一個wxEvtHandler的派生類,例如窗體、按鈕、菜單等,都會在其內(nèi)部維護一個事件表,即事件哈希表(Event Hash Table),用來告訴wxWidgets事件和事件處理過程的映射關(guān)系。因此,要創(chuàng)建靜態(tài)的事件表,首先需要一個處理事件的類,而該類必須是wxEvtHandler的派生類。wxWidgets中有各種能接收消息的控件都是wxEventHandler的派生類,表明它們具備事件處理能力[1],這也是在我們的程序中自定義的窗體類或控件類需要繼承自wxFrame或者wxDialog類的原因。wxWidgets將相應(yīng)的函數(shù)指針保存在事件哈希表中,當(dāng)事件發(fā)生時,從這個哈希表中,找到相應(yīng)的事件函數(shù)指針,然后通過事件函數(shù)指針調(diào)用函數(shù)[8]。在使用事件哈希表之前必須定義它,而每一個需要處理事件的類都需要相同的代碼,因此,wxWidgets用 一 個 宏 DECLARE_EVENT_TABLE()或 wxDECLARE_EVENT_TABLE()來定義哈希表這個復(fù)雜的過程。該宏定義可以放置在窗體類定義的任何位置。同樣,wxWidgets使用宏BEGIN_EVENT_TABLE和END_EVENT_TABLE或者wxBEGIN_EVENT_TABLE和wxEND_EVENT_TABLE實現(xiàn)一個事件表,其中BEGIN_EVENT_TABLE或者wxBEGIN_EVENT_TABLE將事件表進行了初始化,事件關(guān)連宏根據(jù)程序員提供的窗口ID,以及事件處理函數(shù)最終生成事件表項,并添加到事件表項數(shù)組中。加入事件的最后一步是聲明和實現(xiàn)事件處理函數(shù)。

    如下幾個步驟和代碼展示了靜態(tài)事件表的使用方法:

    定義一個類直接或間接繼承自wxEvtHandler的類。wx-Window窗體或控件子類、wxApp都是wxEvtHandler的直接或者間接派生類;

    (1)在類中為每一個要處理的事件定義一個方法作為事件處理器。事件處理方法都具有相同的形式:它們都不是虛函數(shù),需要一個non-const wxEvent引用類型的參數(shù)。方法的返回值是void類型,因為引用類型的參數(shù)將帶回事件的返回信息;

    (2)在類的聲明中使用DECLARE_EVENT_TABLE()或wx DECLARE_EVENT_TABLE()聲明事件表;

    (3)類的實現(xiàn)代碼中,使用宏BEGIN_EVENT_TABLE和END_EVENT_TABLE或者wxBEGIN_EVENT_TABLE和wxEND_EVENT_TABLE實現(xiàn)一個事件表;

    (4)實現(xiàn)事件處理函數(shù),并在事件表中使用事件關(guān)聯(lián)宏實現(xiàn)從事件到事件函數(shù)的映射。

    如下代碼展示了wxWidgets靜態(tài)事件表編程的核心部分。圖1顯示的是一個基于wxWidgets的跨平臺計算器在Win7下的運行結(jié)果,它和動態(tài)事件處理方法在Win7下的運行效果一樣,展示了Win7本地風(fēng)格和觀感。程序運行環(huán)境:Win7,使用wxWidgets3.0動態(tài)鏈接庫,編譯選項UNICODE=

    /*事件處理函數(shù),函數(shù)原型都一樣,返回值為void,一個wx-Event派生類對象的非常量(non-const)引用*/

    void OnClose(wxCloseEvent&event);

    void OnButton(wxCommandEvent&event);

    void OnSize(wxSizeEvent&event);

    void OnTimer(wxTimerEvent&event);

    void OnChar(wxKeyEvent&event);

    wxDECLARE_EVENT_TABLE();//此處也可用DECLARE_EVENT_TABLE()

    };

    //MyFrame.cxx

    /*可以用BEGIN_EVENT_TABLE和END_EVENT_TABLE代替wxEND_EVENT_TABLE和 wxBEGIN_EVENT_TABLE*/

    /*ID_MENU和ID_BUTTON分別對應(yīng)程序菜單項和按鈕的窗體標示符*/

    wxBEGIN_EVENT_TABLE(MyFrame,wxFrame)

    EVT_BUTTON(ID_BUTTON,MyFrame::OnButton)

    EVT_SIZE(MyFrame::OnSize)

    EVT_CLOSE_WINDOW(MyFrame::OnClose)

    EVT_TIMER(MyFrame::OnTimer)

    EVT_CHAR(MyFrame::OnChar)

    wxEND_EVENT_TABLE()

    圖1 Win7下程序運行結(jié)果

    4.動態(tài)事件處理

    盡管靜態(tài)事件表機制比較簡單,但并不意味著這是一種比較好的選擇,因為靜態(tài)事件表的映射通過宏定義在編譯期間進行的,這就意味著我們沒有辦法改變這種映射關(guān)系[6]。而程序在運行期的不同階段又確切需要不同的映射關(guān)系,或者需要在不同的類之間共享事件處理函數(shù),比如我們的程序需要先進行初始化,只有在初始化成功之后才進行事件和事件處理函數(shù)的映射;或者我們需要在不同的類之間共享事件處理函數(shù)。這時,使用wxWidgets強大的動態(tài)事件處理機制,可以更加精確地處理事件表細節(jié)。

    和動態(tài)事件處理相關(guān)的API函數(shù)有兩個:wxEvtHandler::Connect()和wxEvtHandler::DisConnect()。依據(jù)事件的處理策略,這兩個函數(shù)又有三種重載形式。wxEvtHandle::Connect()函數(shù)只能夠映射事件到wxEvtHandler派生類的方法。在wxWidgets2.9.0之后,wxWidgets提供了一組更加靈活的動態(tài)事件處理函數(shù)wxEvtHandler::Bind()和wx-EvtHandler::UnBind(),它們在功能上同wxEvtHandler::Connect()和wxEvtHandler::DisConnect()是相同的,但可以用任意類的方法、普通函數(shù)或?qū)S泄δ芙M件作為事件處理函數(shù)[6]。在大多數(shù)情況下,無需手動調(diào)用UnBind()或DisConnect(),因為窗口類被釋放的時候,它們將自動被調(diào)用[2]。以下代碼展示了動態(tài)事件的綁定過程。圖2展示了程序在Ubuntu12.04下的運行結(jié)果,它和靜態(tài)事件表方法在Ubuntu12.04下的運行效果一樣,展示的是Ubuntu本地風(fēng)格和觀感。程序運行環(huán)境:Ubuntu12.04,使用wxWidgets3.0類庫。

    };

    //MyFrame.cxx

    //沒有事件宏定義

    圖2 Ubuntu12.04下程序運行結(jié)果

    5.結(jié)論

    wxWidgets的事件處理方法和C++中的虛函數(shù)多態(tài)比較相似:允許在事件處理器(wxEvtHandler)的派生類中重新定義函數(shù)來改變基類的行為[6]。而這兩種機制最大的不同在于派生類調(diào)用基類方法的方式:派生類的虛函數(shù)可以直接調(diào)用基類的方法,所以可以在派生類事件處理函數(shù)的開始先調(diào)用基類方法再處理事件(post-process the event),也可以在派生類事件處理函數(shù)中先處理事件(pre-process the event)再在結(jié)束時調(diào)用基類方法;實際上,默認的事件處理行為可能由底層操作系統(tǒng)的平臺相關(guān)代碼來實現(xiàn),并不屬于wxWidgets的API,因此wxWidgets不允許直接調(diào)用基類默認事件處理函數(shù),只能夠采用pre-process the event方法處理事件,要想調(diào)用基類默認行為的話需要使用wxEvent::Skip()函數(shù)。

    wxWidgets可以使用靜態(tài)事件表機制和動態(tài)事件處理方法把事件和事件處理函數(shù)綁定在一塊,并產(chǎn)生同操作系統(tǒng)平臺一致的本地觀感。靜態(tài)事件表通過宏定義把所有的事件映射書寫在同一個地方,簡單明了,但不能夠在運行期改變事件的映射關(guān)系,處理事件的類只能夠是wxEvtHandler的派生類,適合在簡單的應(yīng)用程序中使用。動態(tài)事件的處理方法則根據(jù)需要以更加精確地事處理事件表的細節(jié),顯得更加靈活。表1對靜態(tài)事件表和動態(tài)事件表在各個方面做出了一系列的比較。

    表1 靜態(tài)事件表和動態(tài)事件綜合比較

    總之,wxWidgets封裝了底層平臺的差異,采用了更加靈活的事件處理機制,既可以使用靜態(tài)事件表代替虛函數(shù),也可以動態(tài)地進行事件處理,獲得較高的效率和良好的可移植性。

    [1]熊凱,高茂庭,于仁師.C++語言開發(fā)跨平臺程序的研究與實現(xiàn)[J].電腦知識與技術(shù),2006(2):127-128.

    [2]Kevin Hock,Stefan Csomor,Julian Smart.Cross-Platform GUI Programming with WxWidgets[M].UK:Prentice Hall PTR,2005.7.

    [3]王艷紅,張憲生.基于wxWidgets的跨平臺軟件開發(fā)[J].中國科技博覽,2012(26):388.

    [4]張長亮.wxWidgets跨平臺程序開發(fā)[M].北京:機械工業(yè)出版社,2012.9.

    [5]李森林,鄧小武.一種跨平臺類庫WxWidgets應(yīng)用開發(fā)研究[J].電腦與電信,2009(3):32-34. [6]Julian Smart,Robert Roebling,et al.wxWidgets Cross-Platform GUI Toolkit[M/OL].https://sourceforge.net/projects/wxwindows/files/ 3.0.0/wxWidgets-docs-chm-3.0.0.zip 2013.11.

    [7]李寧.wxWidgets:全能的跨平臺軟件開發(fā)包[J].程序員,2006 (11):126-127.

    [8]張羽.WxWidgets框架應(yīng)用及其模塊化開發(fā)[J].硅谷,2009(22):67.

    The Mechanism of Handling Events in wxWidgets

    Zhang Feng Zhang Xiaomin
    (School of Software,Nanyang Institute of Technology,Nanyang 473000,Henan)

    wxWidgets is a C++framework providing GUI(Graphical User Interface)and other facilities on multi-platforms. Like other GUI frameworks,the control of flow in wxWidgets applications is event-based.There are two principal ways to handle events in wxWidgets.One of them uses event table macros and allows you to define the binding between events and their handlers only statically;the other way maps events and their handlers dynamically.The paper introduces and analyzes the two methods and summarizes that the dynamical way requires slightly more codes but is much more flexible than the static way.

    cross-platform;event-based;binding

    張楓,男,河南南陽人,碩士研究生,講師,研究方向:跨平臺軟件開發(fā),數(shù)字圖像處理。

    猜你喜歡
    基類窗體跨平臺
    基于C#面向?qū)ο蟪绦蛟O(shè)計的封裝、繼承和多態(tài)分析
    試談Access 2007數(shù)據(jù)庫在林業(yè)檔案管理中的應(yīng)用
    檔案天地(2019年5期)2019-06-12 05:12:02
    跨平臺APEX接口組件的設(shè)計與實現(xiàn)
    空戰(zhàn)游戲設(shè)計實例
    一種基于用戶興趣的STC改進算法
    虛機制在《面向?qū)ο蟪绦蛟O(shè)計C++》中的教學(xué)方法研究
    基于QT的跨平臺輸電鐵塔監(jiān)控終端軟件設(shè)計與實現(xiàn)
    基于OPC跨平臺通信的電機監(jiān)測與診斷系統(tǒng)
    基于B/S的跨平臺用戶界面可配置算法研究
    基于LayeredWindow的異形窗體局部刷新
    中文信息(2014年2期)2014-03-06 23:49:14
    久久午夜福利片| 又爽又黄a免费视频| 18禁裸乳无遮挡动漫免费视频 | 自拍欧美九色日韩亚洲蝌蚪91 | 一级毛片 在线播放| 看免费成人av毛片| 亚洲av不卡在线观看| 天堂俺去俺来也www色官网| 亚洲aⅴ乱码一区二区在线播放| av免费观看日本| 一个人看视频在线观看www免费| 国产精品国产三级国产专区5o| 欧美日韩视频高清一区二区三区二| 街头女战士在线观看网站| 伦精品一区二区三区| 婷婷色av中文字幕| 丝袜美腿在线中文| 国产精品秋霞免费鲁丝片| 免费av不卡在线播放| 又黄又爽又刺激的免费视频.| 99久国产av精品国产电影| 久久精品综合一区二区三区| 91aial.com中文字幕在线观看| 国产成人精品福利久久| 老女人水多毛片| 欧美xxxx性猛交bbbb| 精品午夜福利在线看| 中文天堂在线官网| 午夜免费观看性视频| 国产精品国产三级国产专区5o| 综合色av麻豆| 在线看a的网站| 日韩电影二区| 国产老妇伦熟女老妇高清| 国产视频首页在线观看| 神马国产精品三级电影在线观看| av在线亚洲专区| 亚洲av在线观看美女高潮| 中文乱码字字幕精品一区二区三区| 亚洲国产欧美在线一区| 日韩av不卡免费在线播放| 国产成人午夜福利电影在线观看| 国产精品国产三级国产专区5o| 亚洲精品久久午夜乱码| 国内揄拍国产精品人妻在线| 婷婷色麻豆天堂久久| 精品久久久久久久人妻蜜臀av| 免费看日本二区| 日韩免费高清中文字幕av| 亚洲精品日本国产第一区| 亚洲欧洲日产国产| 26uuu在线亚洲综合色| 欧美精品一区二区大全| 国产男女超爽视频在线观看| 久久久a久久爽久久v久久| 又爽又黄无遮挡网站| 成年人午夜在线观看视频| 欧美zozozo另类| 综合色av麻豆| 国产成人免费观看mmmm| 日韩中字成人| 亚洲精品视频女| 你懂的网址亚洲精品在线观看| 色5月婷婷丁香| 一级爰片在线观看| 免费看av在线观看网站| 国产精品嫩草影院av在线观看| 久久99热这里只频精品6学生| 啦啦啦在线观看免费高清www| 少妇被粗大猛烈的视频| 午夜福利在线在线| 22中文网久久字幕| 精品熟女少妇av免费看| 少妇的逼水好多| 亚洲图色成人| 韩国av在线不卡| 成年人午夜在线观看视频| 亚洲国产最新在线播放| 欧美性猛交╳xxx乱大交人| 高清日韩中文字幕在线| 97人妻精品一区二区三区麻豆| 午夜福利网站1000一区二区三区| 黄色配什么色好看| 黄色欧美视频在线观看| 久热久热在线精品观看| 下体分泌物呈黄色| 日本爱情动作片www.在线观看| 免费不卡的大黄色大毛片视频在线观看| 少妇人妻一区二区三区视频| 亚洲精品aⅴ在线观看| 黄色日韩在线| 免费看光身美女| 色5月婷婷丁香| 日韩一区二区视频免费看| 中文在线观看免费www的网站| 欧美成人午夜免费资源| 麻豆成人午夜福利视频| 亚洲国产精品成人综合色| 91久久精品国产一区二区三区| 欧美国产精品一级二级三级 | 色婷婷久久久亚洲欧美| 春色校园在线视频观看| 色视频在线一区二区三区| 国国产精品蜜臀av免费| 亚洲av.av天堂| 26uuu在线亚洲综合色| 免费播放大片免费观看视频在线观看| 国产午夜精品久久久久久一区二区三区| 欧美三级亚洲精品| 全区人妻精品视频| 三级经典国产精品| 黄色日韩在线| 在线天堂最新版资源| 久久精品久久久久久噜噜老黄| 日韩av在线免费看完整版不卡| 国产乱人视频| 国内少妇人妻偷人精品xxx网站| 国产精品久久久久久久电影| 高清午夜精品一区二区三区| 日韩国内少妇激情av| 日韩国内少妇激情av| 日韩国内少妇激情av| 在线精品无人区一区二区三 | 男人添女人高潮全过程视频| 80岁老熟妇乱子伦牲交| 国产免费又黄又爽又色| 涩涩av久久男人的天堂| 精品人妻一区二区三区麻豆| 国产精品久久久久久久久免| 99热6这里只有精品| 成年人午夜在线观看视频| 日本一二三区视频观看| 亚洲国产最新在线播放| 毛片一级片免费看久久久久| 最近中文字幕高清免费大全6| 一级毛片久久久久久久久女| 嫩草影院精品99| 男女国产视频网站| 精品久久国产蜜桃| 亚洲内射少妇av| 又粗又硬又长又爽又黄的视频| 我的女老师完整版在线观看| 菩萨蛮人人尽说江南好唐韦庄| 视频区图区小说| 精品人妻视频免费看| 国产亚洲5aaaaa淫片| 国产极品天堂在线| 日韩一本色道免费dvd| 1000部很黄的大片| 夜夜看夜夜爽夜夜摸| 黄色日韩在线| 你懂的网址亚洲精品在线观看| 成人毛片a级毛片在线播放| 你懂的网址亚洲精品在线观看| 精品国产一区二区三区久久久樱花 | 国产黄频视频在线观看| 日日啪夜夜撸| 只有这里有精品99| 久久久久久九九精品二区国产| 一级毛片aaaaaa免费看小| 国产精品伦人一区二区| 男插女下体视频免费在线播放| 毛片女人毛片| 国产老妇伦熟女老妇高清| 日本一二三区视频观看| 午夜福利视频1000在线观看| 国产精品熟女久久久久浪| 亚洲四区av| 成年人午夜在线观看视频| 2021少妇久久久久久久久久久| 老司机影院成人| 麻豆成人午夜福利视频| 国产成人aa在线观看| 在线 av 中文字幕| 国产老妇伦熟女老妇高清| 黄色视频在线播放观看不卡| 免费看av在线观看网站| 中文字幕制服av| 丝瓜视频免费看黄片| 亚洲天堂国产精品一区在线| 成人综合一区亚洲| 成人欧美大片| 亚洲,欧美,日韩| 成人高潮视频无遮挡免费网站| 国产成人精品福利久久| 波野结衣二区三区在线| 亚洲一区二区三区欧美精品 | 久久久久精品性色| 一本一本综合久久| 国内精品宾馆在线| 好男人在线观看高清免费视频| 2021少妇久久久久久久久久久| 亚洲va在线va天堂va国产| 日韩亚洲欧美综合| 亚洲欧美一区二区三区国产| 亚洲精品第二区| 狠狠精品人妻久久久久久综合| videos熟女内射| 蜜桃久久精品国产亚洲av| 午夜精品国产一区二区电影 | 伦精品一区二区三区| 久久鲁丝午夜福利片| 黄色配什么色好看| 白带黄色成豆腐渣| 欧美97在线视频| 午夜福利视频1000在线观看| 国产黄色免费在线视频| av女优亚洲男人天堂| 天天躁夜夜躁狠狠久久av| 看十八女毛片水多多多| 欧美激情国产日韩精品一区| 国产精品久久久久久久电影| 国产永久视频网站| 国产 一区精品| 国产成年人精品一区二区| 一级毛片电影观看| 免费观看无遮挡的男女| 色婷婷久久久亚洲欧美| 成人鲁丝片一二三区免费| 午夜精品国产一区二区电影 | 国产精品一区二区三区四区免费观看| 最近中文字幕2019免费版| 久久久亚洲精品成人影院| 日本色播在线视频| 久久久久久久久大av| 丰满乱子伦码专区| 男男h啪啪无遮挡| 色婷婷久久久亚洲欧美| 国产亚洲一区二区精品| 高清在线视频一区二区三区| 久久久欧美国产精品| 亚洲在久久综合| 欧美日韩一区二区视频在线观看视频在线 | 人人妻人人看人人澡| 黄色一级大片看看| 亚洲精品aⅴ在线观看| 婷婷色综合大香蕉| 国产成人精品婷婷| 天美传媒精品一区二区| 日本爱情动作片www.在线观看| 好男人视频免费观看在线| 日韩免费高清中文字幕av| 日韩亚洲欧美综合| 婷婷色av中文字幕| 中文字幕免费在线视频6| 国产亚洲av片在线观看秒播厂| 亚洲人成网站高清观看| 91精品一卡2卡3卡4卡| 国产伦理片在线播放av一区| .国产精品久久| 我的老师免费观看完整版| 1000部很黄的大片| 成人黄色视频免费在线看| 26uuu在线亚洲综合色| 亚洲av免费在线观看| 亚洲综合色惰| 激情五月婷婷亚洲| 啦啦啦中文免费视频观看日本| 国产免费一区二区三区四区乱码| 黄色视频在线播放观看不卡| 亚洲人与动物交配视频| 国产精品久久久久久精品古装| 中文字幕免费在线视频6| 观看免费一级毛片| 小蜜桃在线观看免费完整版高清| 欧美激情国产日韩精品一区| 久久热精品热| 日日撸夜夜添| av国产精品久久久久影院| 毛片女人毛片| 国产一级毛片在线| 日韩视频在线欧美| 国产一区二区三区综合在线观看 | 偷拍熟女少妇极品色| 精品久久久久久久末码| 三级国产精品片| 亚洲av成人精品一区久久| 亚洲国产日韩一区二区| 1000部很黄的大片| 免费av毛片视频| 日本爱情动作片www.在线观看| 日韩 亚洲 欧美在线| 久久精品国产a三级三级三级| 国产午夜精品一二区理论片| 中文字幕av成人在线电影| 97超视频在线观看视频| 好男人在线观看高清免费视频| 国产v大片淫在线免费观看| 美女被艹到高潮喷水动态| 亚洲电影在线观看av| 免费av毛片视频| 99久国产av精品国产电影| 精品视频人人做人人爽| 免费大片黄手机在线观看| 国产黄色免费在线视频| 丰满人妻一区二区三区视频av| 色视频在线一区二区三区| 亚洲欧美日韩另类电影网站 | 视频中文字幕在线观看| 国产精品熟女久久久久浪| 蜜桃亚洲精品一区二区三区| 国产淫语在线视频| 免费av不卡在线播放| 亚洲欧美精品专区久久| 大片电影免费在线观看免费| 一个人观看的视频www高清免费观看| 久久99热6这里只有精品| 亚洲国产精品国产精品| 日日摸夜夜添夜夜添av毛片| 成人亚洲欧美一区二区av| 欧美激情久久久久久爽电影| 汤姆久久久久久久影院中文字幕| 亚州av有码| 69人妻影院| 少妇 在线观看| 大又大粗又爽又黄少妇毛片口| .国产精品久久| 久久国产乱子免费精品| 欧美另类一区| 美女cb高潮喷水在线观看| 蜜桃久久精品国产亚洲av| 日韩在线高清观看一区二区三区| 色综合色国产| 日日撸夜夜添| 51国产日韩欧美| 女人久久www免费人成看片| 日韩中字成人| 国产成人福利小说| 大香蕉97超碰在线| 99久久人妻综合| 欧美最新免费一区二区三区| av国产免费在线观看| 久久99热这里只频精品6学生| 成年免费大片在线观看| .国产精品久久| av在线天堂中文字幕| 秋霞在线观看毛片| 波多野结衣巨乳人妻| 五月开心婷婷网| 久久久午夜欧美精品| 欧美另类一区| 成年人午夜在线观看视频| 高清在线视频一区二区三区| 成人免费观看视频高清| eeuss影院久久| 国产免费视频播放在线视频| 特大巨黑吊av在线直播| 免费看光身美女| 免费观看a级毛片全部| 午夜免费鲁丝| 又爽又黄无遮挡网站| 亚洲最大成人中文| 中文字幕av成人在线电影| 久久精品综合一区二区三区| 久久久久精品性色| 午夜免费观看性视频| av国产免费在线观看| 亚洲国产色片| 精品一区二区三卡| 精品熟女少妇av免费看| 深爱激情五月婷婷| 在线观看一区二区三区激情| 久久久久久久久久人人人人人人| 国产一区二区三区av在线| 听说在线观看完整版免费高清| 人妻系列 视频| 色婷婷久久久亚洲欧美| 超碰97精品在线观看| 男女无遮挡免费网站观看| 大话2 男鬼变身卡| 大片电影免费在线观看免费| 老司机影院成人| 国产探花在线观看一区二区| 22中文网久久字幕| 国产视频首页在线观看| 国产亚洲一区二区精品| 免费大片黄手机在线观看| 草草在线视频免费看| 美女内射精品一级片tv| 精品人妻一区二区三区麻豆| 国产av码专区亚洲av| av免费在线看不卡| 热99国产精品久久久久久7| 国产淫语在线视频| 2021天堂中文幕一二区在线观| 亚洲国产av新网站| 久久97久久精品| 亚洲人成网站在线播| 在线天堂最新版资源| 22中文网久久字幕| 国产男人的电影天堂91| 毛片一级片免费看久久久久| 人妻少妇偷人精品九色| 成人午夜精彩视频在线观看| 一区二区三区精品91| 日本av手机在线免费观看| 欧美 日韩 精品 国产| 九草在线视频观看| 亚洲怡红院男人天堂| 国产精品99久久99久久久不卡 | 久久久久久久午夜电影| 久久精品国产亚洲网站| 精品酒店卫生间| 狂野欧美激情性xxxx在线观看| 好男人在线观看高清免费视频| 国产午夜精品一二区理论片| 日本与韩国留学比较| 国产高清有码在线观看视频| 久久久久久久大尺度免费视频| 夫妻性生交免费视频一级片| 中文精品一卡2卡3卡4更新| 简卡轻食公司| 欧美日本视频| 看非洲黑人一级黄片| 丰满少妇做爰视频| 精品久久久噜噜| 欧美亚洲 丝袜 人妻 在线| 国产av国产精品国产| 99热这里只有精品一区| 99视频精品全部免费 在线| 777米奇影视久久| 亚洲欧美一区二区三区国产| 成人高潮视频无遮挡免费网站| 亚洲欧洲国产日韩| 国产在视频线精品| 可以在线观看毛片的网站| 亚洲自拍偷在线| 毛片一级片免费看久久久久| 亚洲在线观看片| 日日啪夜夜撸| 一二三四中文在线观看免费高清| 国产大屁股一区二区在线视频| 午夜福利高清视频| 黄色怎么调成土黄色| 精品亚洲乱码少妇综合久久| 男人狂女人下面高潮的视频| 国产高清不卡午夜福利| 国产成人精品婷婷| 亚洲成人一二三区av| 99视频精品全部免费 在线| 欧美少妇被猛烈插入视频| 亚洲不卡免费看| 寂寞人妻少妇视频99o| 国产精品精品国产色婷婷| 久久久久久久大尺度免费视频| 亚洲国产色片| 国产日韩欧美亚洲二区| 午夜福利网站1000一区二区三区| 视频中文字幕在线观看| 极品少妇高潮喷水抽搐| 久久久久久九九精品二区国产| 久久久久久久久久久免费av| 伊人久久精品亚洲午夜| 久久久久久伊人网av| 少妇人妻精品综合一区二区| 国产白丝娇喘喷水9色精品| 2018国产大陆天天弄谢| 美女视频免费永久观看网站| 色网站视频免费| a级毛片免费高清观看在线播放| 中文字幕亚洲精品专区| 纵有疾风起免费观看全集完整版| 欧美一区二区亚洲| 99久久人妻综合| 国产精品久久久久久久电影| 亚洲av中文av极速乱| 99热网站在线观看| a级毛片免费高清观看在线播放| 啦啦啦中文免费视频观看日本| 欧美xxxx黑人xx丫x性爽| 狂野欧美激情性bbbbbb| 中文字幕久久专区| 国产精品秋霞免费鲁丝片| 久久久色成人| 日韩国内少妇激情av| 大片电影免费在线观看免费| 国产精品久久久久久久久免| av.在线天堂| av在线天堂中文字幕| 国产大屁股一区二区在线视频| 亚洲精品久久久久久婷婷小说| 欧美激情在线99| 夜夜爽夜夜爽视频| 成人黄色视频免费在线看| 禁无遮挡网站| 天天一区二区日本电影三级| 一级片'在线观看视频| 免费黄网站久久成人精品| 永久免费av网站大全| 国产成人免费无遮挡视频| a级一级毛片免费在线观看| 亚洲欧美成人综合另类久久久| 亚洲欧美日韩另类电影网站 | 久久久久精品性色| 看十八女毛片水多多多| 亚洲精品国产成人久久av| 精品人妻一区二区三区麻豆| 午夜福利在线在线| 18禁裸乳无遮挡免费网站照片| 伦精品一区二区三区| 在线观看三级黄色| 亚洲精品456在线播放app| 国产免费福利视频在线观看| 欧美zozozo另类| kizo精华| 午夜激情久久久久久久| 国产欧美日韩一区二区三区在线 | 日本-黄色视频高清免费观看| 少妇裸体淫交视频免费看高清| 联通29元200g的流量卡| 搡女人真爽免费视频火全软件| 国产精品国产三级国产专区5o| 插逼视频在线观看| 91在线精品国自产拍蜜月| 亚洲人成网站在线观看播放| 亚洲自偷自拍三级| 日本三级黄在线观看| 亚洲av中文av极速乱| 毛片女人毛片| 亚洲成色77777| 国产高清国产精品国产三级 | 亚洲在线观看片| 18禁裸乳无遮挡动漫免费视频 | 国产永久视频网站| 久久国内精品自在自线图片| 久久精品国产亚洲av涩爱| 夫妻午夜视频| 国产 一区 欧美 日韩| 亚洲成人中文字幕在线播放| 狂野欧美白嫩少妇大欣赏| 人体艺术视频欧美日本| 69人妻影院| kizo精华| 国产黄a三级三级三级人| 真实男女啪啪啪动态图| 最近最新中文字幕免费大全7| 久久久久久久久久久丰满| 日韩大片免费观看网站| 在线亚洲精品国产二区图片欧美 | 欧美精品人与动牲交sv欧美| 国模一区二区三区四区视频| 人妻一区二区av| 国产亚洲午夜精品一区二区久久 | 亚洲天堂av无毛| 97精品久久久久久久久久精品| 在线看a的网站| 日韩免费高清中文字幕av| 成人免费观看视频高清| 深爱激情五月婷婷| 亚洲人成网站在线观看播放| 亚洲国产欧美在线一区| 高清在线视频一区二区三区| 26uuu在线亚洲综合色| 青春草国产在线视频| 男人舔奶头视频| 好男人在线观看高清免费视频| 日本三级黄在线观看| 日韩中字成人| 青春草国产在线视频| 男人舔奶头视频| 午夜爱爱视频在线播放| 在线观看av片永久免费下载| 国内精品宾馆在线| 亚洲第一区二区三区不卡| 欧美日韩国产mv在线观看视频 | 欧美高清成人免费视频www| 国产成人福利小说| 男女无遮挡免费网站观看| 国产亚洲91精品色在线| 在线观看人妻少妇| 七月丁香在线播放| 亚洲精品中文字幕在线视频 | 亚洲av国产av综合av卡| 麻豆成人午夜福利视频| 国产有黄有色有爽视频| 欧美性感艳星| 亚洲无线观看免费| 嫩草影院精品99| 国产精品国产av在线观看| 国产视频首页在线观看| 人人妻人人看人人澡| 国产黄a三级三级三级人| 国产伦精品一区二区三区四那| 久久久国产一区二区| 夜夜爽夜夜爽视频| 久久人人爽人人爽人人片va| 夜夜爽夜夜爽视频| 2018国产大陆天天弄谢| 成人欧美大片| 欧美少妇被猛烈插入视频| 中文字幕久久专区| 日韩av免费高清视频| 午夜免费男女啪啪视频观看| 狂野欧美激情性xxxx在线观看| 国产探花在线观看一区二区| 国产成人精品婷婷| 成人欧美大片| 日韩强制内射视频| 91狼人影院| 视频中文字幕在线观看| 亚洲在久久综合| 日本av手机在线免费观看| 欧美日本视频| 日日摸夜夜添夜夜爱| 国产男女超爽视频在线观看| 亚洲欧美清纯卡通| 人妻夜夜爽99麻豆av| 亚洲欧美一区二区三区国产| 国产黄色免费在线视频| 又爽又黄无遮挡网站| 少妇丰满av| 亚洲久久久久久中文字幕| 最近最新中文字幕免费大全7| 真实男女啪啪啪动态图| 成人国产av品久久久|