成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

溫故知新,那就從用戶界面開始吧!

開發 架構
用戶界面(User Interface)是進行人機交互活動的系統部件,是人與計算機通訊與對話的接口。早期的計算機是通過面板上的指示燈來顯示二進制數據和指令,人們則通過面板上的開關、扳鍵及穿孔紙帶送入各種數據和命令。

從人機交互到用戶界面,從GUI到窗口系統,進而到X 系統。從X 系統的設計思想,到Xserver和Xclient以及X11協議,一直到窗口管理器乃至wayland。溫故知新,那就從用戶界面開始吧!

圖片

1. 從用戶界面開始

用戶界面(User Interface)是進行人機交互活動的系統部件,是人與計算機通訊與對話的接口。早期的計算機是通過面板上的指示燈來顯示二進制數據和指令,人們則通過面板上的開關、扳鍵及穿孔紙帶送入各種數據和命令。50年代中后期,由于采用了控制臺及打字機等設備,使計算機可以批處理多個計算任務,從而代替了原來笨拙的手工扳鍵方式,提高了計算機的使用效率。

1963年,美國麻省理工學院在 709/7090計算機上成功地開發出第一個分時系統,該系統連接了多個分時終端,并最早使用了文本編輯程序。從此,以命令行形式的多用戶分時終端成為70乃至80年代用戶界面的主流。

20世紀80年代初,由美國施樂公司在Alto計算機首先使用Smarttalk-80程序設計了開發環境,以及后來的Mactosh等計算機,將用戶界面推向圖形用戶界面的新階段。隨之而來的用戶界面管理系統和智能界面的研究均推動了用戶界面的發展。

圖片

GUI的核心特征是WIMP:

  • W(window)指窗口,是用戶或系統的一個工作區域,一個屏幕可以有多個窗口。
  • I(icons)指圖標,是形象化的圖形標志,易于人們隱喻和理解。
  • M(menu)指菜單,可供用戶選擇的功能提示。
  • P(pointer)指鼠標器等,便于用戶直接對屏幕對象進行操作。

GUI采用了不少桌面辦公的隱喻,應用者共享一個直觀的界面框架。人們熟悉辦公桌的情況,因而對計算機顯示的圖標含義容易理解,諸如 文件夾、收件箱、畫筆、工作簿、鑰匙及時鐘等。采用GUI后,用戶可直接對屏幕上的對象進行操作,如拖動、刪除、插入以至放大和旋轉等。執行操作后,屏幕能立即給出反饋信息或結果,實現了所見即所得。

2. 關于GUI的點滴

一個GUI系統通常由三個基本層次組成。它們是顯示模型,窗口模型和用戶模型。用戶模型包含了顯示和交互的主要特征,因此,圖形用戶界面這一術語有時也僅指用戶模型,這也是一個令人誤解的地方。

圖片

最底層是計算機硬件平臺,如Intel,PowerPC等,硬件平臺的上面是計算機的操作系統。大多數圖形用戶界面系統都只能在一兩種操作系統上運行,只有少數的產品例外。操作系統之上是圖形用戶界面的顯示模型,它決定了圖形在屏幕上的基本顯示方式。不同的GUI系統所采用的顯示模型各不相同,例如,大多數在Unix/Linux 之上運行的圖形用戶界面系統都采用 X窗口作顯示模型 ,MS windows 則采用公司自己設計的GDI作為顯示模型。

顯示模型之上是GUI系統的窗口模型。窗口模型確定窗口如何在屏幕上顯示,如何改變大小,如何移動,及窗口的層次關系等。它通常包括兩個部分,一個是編程工具 ,另一個是對如何移動,輸出和讀取屏幕顯示信息的說明。因為X窗口不但規定了如何顯示基本圖形對象也規定了如何顯示窗口,所以它不但可以充當圖形用戶界面的顯示模型,也可以充當它的窗口模型。

窗口模型之上是用戶模型,圖形用戶界面的用戶模型又稱為GUI的視覺感受。它也包括兩個部分 :構造用戶界面的工具和對于如何在屏幕上組織各種圖形對象,以及這些對象之間如何交互的說明。例如,每個GUI模型都會說明它支持什么樣的菜單和什么樣的顯示方式。

GUI系統的應用程序接口由其顯示模型,窗口模型和用戶模型的應用程序接口共同組成。

GUI 系統一般分為三類:

  • 基于操作系統內核的GUI:這類GUI的絕大多數功能都與操作系統的內核融合在一起,圖形用戶界面與操作系統密切配合,協調工作,來實現系統管理,應用程序采用系統調用的方式來完成對窗口的各類操作。這類圖形用戶界面主要實現于個人機環境,如蘋果的Mac 。雖然圖形用戶接口與操作系統的緊密結合給GUI的開發帶來了方便,但是這類圖形用戶界面依附于特定的操作系統與硬件支撐環境,使得GUI變得不易修改、難擴展、可移植性差。
  • 基于CS模型型的GUI:這類GUI由與硬件直接相關的服務器部分和與硬件無關的客戶部分共同組成,實現了GUI的設備獨立性。當面對不同的硬件環境時,僅僅需要修改直接操作硬件的服務器部分,因而具有較好的可移植性。這一類圖形用戶界面的代表是 X window。
  • 基于庫函數的GUI:這類GUI實現于操作系統的上層,可視為操作系統的擴展,它以庫函數的形式提供給對窗口進行操作的應用程序進行調用。這種圖形用戶界面比較容易修改、擴充和移植。但在其基礎上編制的應用程序還是與操作系統強相關,并對它的移植帶來了一些障礙。這類GUI的典型產品是 MS windows 。

3. 窗口系統

窗口系統是在屏幕某限定區域管理程序輸入和輸出的一組工具。它與操作系統類似,操作系統管理的是存儲空間和I/O設備,而窗口系統管理的是窗口、事件、文本的輸入、文本和圖形的輸出以及各種對象屬性;操作系統用調度算法和I/O封鎖來調度,窗口系統使用用戶生成的事件來調度。 

所謂窗口,是指屏幕上的一塊矩形區域,用戶通過窗口可以顯示、觀察其區域內的全部或部分內容,并可以對所顯示的內容進行各種系統預先規定好的正文或圖形操作。一般把窗口稱為虛擬屏幕,把顯示器稱為物理屏幕。現代窗口系統支持多窗口重疊顯示,這必然涉及到各個窗口在屏幕上的疊放順序,一般采用一種稱為窗口“Z序”的機制來進行管理。“Z序”實際是相對屏幕坐標而言的,假設一根過屏幕原點垂直于屏幕的Z軸,它由外指向屏幕內,窗口在這個Z軸上的值就確定了它的Z序, Z序值大的窗口覆蓋了Z序值小的窗口,因此, Z序實際定義了各個窗口在屏幕上的層疊順序。

窗口管理技術是屏幕管理技術的核心,在實現時首先要定義一個窗口的數據結構。各類窗口風格迥異,但它們的基本信息都可以歸納為下面幾類:

  • 標志信息,作為一個窗口的標志,以正整數表示,不同的窗口,標志不同。
  • 風格信息,表示窗口的顯示風格。
  • 位置信息,描述窗口及其各個組成部分在屏幕上的位置。
  • 內容信息,包括窗口內各組成部分相關的數據,如菜單等。
  • 圖像信息,存放與窗口相關的屏幕圖像,如窗口的圖標。
  • 父子信息,指一個窗口的父窗口和其子窗口的信息。
  • 消息過程,指窗口對各種消息的處理函數。

窗口管理提供了一組工具函數,實現對窗口的創建、關閉、刪除等基本操作功能,此外還實現設置、獲取窗口屬性、移動等控制窗口的功能。這里要注意的是,對窗口進行創建、關閉、等操作時,要相應修改系統的窗口Z序鏈表以及各個有關窗口的信息。

4. X window

X window是由麻省理工學院推出的窗口系統,1984年發行了其最早版本,簡稱X,旨在建立不依賴于特定硬件系統的圖形和文字顯示窗口系統的標準。X window是一個圖形顯示、服務和管理系統,包含了光柵圖形技術、用戶界面技術、操作系統技術和計算機網絡技術,為用戶提供了一個靈活多樣的交互式圖形界面。X window完善的管理功能和高效的程序開發環境也成為一個事實上的工業標準。

圖片

從一般用戶的視角看, 窗口系統具有下述特征:

  • 支持實現不同風格的用戶界面
  • 具有網絡透明性
  • 本身獨立于顯示設備和輸入設備
  • 支持并行顯示和多程序并行運行
  • 支持重疊型和瓦片型窗口
  • 提供了多種窗口管理器,但系統中只能有一個活動的窗口管理器
  • 具有很好的可擴展性

從軟件開發者的視角看,窗口具有下述特征:

  • 提供了多種資源及其管理機制。
  • 窗口系統的資源包括屏幕、窗口、象素映象、調色板、字體、光標、設備及繪圖屬性集。
  • 提供了基于網絡的窗口協議提供了各類庫函數、工具箱和對象類等編程機制,將窗口環境下的各種動作或行為抽象為請求和事件,并提供了相應的數據流和管理機制,大大簡化了程序設計工作。

5. X 系統的設計思想

X窗口系統設計思想是創立一個與系統硬件無關的圖形界面接口(簡稱GUI)?并且能夠通過網絡進行完全擴展的系統。因此?X窗口系統設計上遵循Client/server模式?該模式滿足了X窗口系統的完全可擴展性,?在網絡上采用了X協議封裝實現了網絡的透明性。

X窗口系統的Server負責管理所有與顯示有關的資源,不同的硬件平臺往往對應不同的Server,因此,X Server是與硬件相關的,往往由硬件廠商提供其驅動。另一方面,由于X窗口系統是基于事件驅動的,因此X Server會將諸如鼠標移動等驅動事件傳送給客戶機。Client根據程序需要負責向Server提出服務請求,Server根據Client的請求將涉及圖形部分顯示在顯示設備上,并將服務請求結果回送給客戶機?整個流程。因此,X Server的設計是由廠商完成,而Client是由用戶設計,并通過X Server完全將顯示設備和客戶機隔離開來,使Client具有可移植性。

圖片

X Client的設計是通過調用Xlib庫來實現對服務器的服務請求,從Xlib中調用函數,并將請求采用X協議封裝通過網絡傳遞給X Server,X Server負責依次將請求傳遞給指定設備,由設備負責處理。Xlib開發X Client的工作量非常大,在X窗口系統的設計中經常使用Xt庫和窗口組件集。Xt庫提供了多種用于容納數據和提供用戶界面的對象,稱作組件或Widget,并管理Widget的幾何特性和事件處理。在Xt庫提供的Widget基礎上,窗口組件集是建立了一些基本的Widget類和專門化的Widget子類,用以完成用戶界面的各種功能,常見的窗口組件集有Motif、Athena、Qt和Gnome等庫。

6. X server

X Server 是一個跟蹤所有輸入信息的程序,這些輸入信息來自鍵盤和鼠標器等輸入設備及任何正在運行的其他客戶程序。服務器起到客戶應用程序和本地工作站硬件之間的媒介的作用執行下列任務:

  • 允許多個客戶程序訪問多屏工作站
  • ·解釋理解從客戶程序來的網絡消息
  • 通過發送網絡消息把用戶的輸入傳送給客戶程序
  • 繪制二維圖形,這些圖形是由多屏工作站服務器而不是由客戶程序完成的
  • 把復雜的數據結構 ,包括窗口 、光標 、字體和圖形信息作為資源來維護,由服務器維護資源就減少了由每個客戶程序維護的數據量 , 也減少了必須在網絡上傳送的數據量

從結構的觀點看,X Server可分為三個層次:頂層是與設備無關部分,負責接收和解釋符合協議格式的客戶請求消息,中間層是與操作系統相關部分,這部分使能接口到特定的操作系統;低層是與設備相關部分,這是特定支持硬件的設備驅動程序集。

圖片

X Server 通過X協議與客戶程序的X協議 xlib接口通信,有四類通過協議傳遞的信息:請求、響應、事件和錯誤。協議請求由xlib產生并送到服務器,請求可以攜帶各種各樣的信息,如一個畫線說明,對當前某個窗口尺寸的詢問等。服務器把協議對某些請求的響應送給xlib,不是所有的請求都能通過響應得到答復,如畫圖請求就不產生答復。事件是服務器傳給xlib的,它含有關于某個設備動作的信息,事件是客戶程序用以獲取信息的主要手段。錯誤有兩種,一種是可恢復性錯誤,另一種是致命性錯誤,由服務器發送到xlib的某一個錯誤管理庫程序。

在這四種信息包中,請求和事件是主要的,Xlib先將請求存儲起來,不是立即送給服務器,在適當的情況下再送到請求緩沖區的內容到服務器中。一旦用戶引發了事件,而且網絡允許,服務器就把事件送往xlib,xlib為每個服務器管理一個事件隊列,每當來自服務器的事件到達,就被排隊,等待客戶程序讀取。

7. X client

Xlib是X窗口系統的C語言編程接口,是向應用程序提供底層的編程接口。Xlib把參數封裝為協議請求,通過IPC機制發送給服務器進程。Xlib共有320多個函數,可分為系統功能(連接的建立和拆除等)、窗口功能(窗口屬性與操作)、圖形功能(圖元、圖形屬性、正文字體、區域、圖像等)、色彩功能(顏色表操作等)、時間功能(輸入時間及窗口事件)及其它功能(使用函數等)。

X Client不用標準的 C 函數來獲取輸入,而是接收事件,然后根據事件類型發生分支,執行適當的響應。傳統程序是由程序控制,在確定的時間查詢確定類型的輸入。X 程序絕大多數情況是由 用戶控制,在任何時間為任何類型事件的發生做好準備。

事件在 X 應用程序編程中處于中心地位。X Client使用事件與服務器或其他客戶端進行通信。從程序員的角度看,一個事件可以包含很多信息:

應用程序想獲取的信息,比如用戶輸入、其他客戶端傳來的有用信息。

其他客戶端想知道你的應用程序正在做的一些事情,比如將可用文本傳輸給第三方客戶端。

窗口管理器想知道的一些信息,比如在映射視窗時,應用程序發送的一個想改變屏幕布局的請求報文。

X Client對事件的處理過程分為三步:首先,選擇每個視窗都需要的事件。然后,將視窗映射到屏幕上。最后,當事件產生后,應用程序提供一個事件循環(Event Loop)來從事件隊列中一一讀取事件并處理之。這個過程非常簡單,唯一復雜的因素是各種事件可能同時發生,而且同一事件在不同的視窗發生可能具有不同的意義。所以,必須要了解每個事件產生的特定環境來確保應用程序會采取正確的行為來處理它。

圖片

8. X 協議

X Window系統網絡協議即X11協議定義了在客戶和服務器之間傳送信息所使用的數據結構即信息格式定義。它是一個基于流處理通信而不是基于過程或核心調用的異步接口。X11的實現有許多種,其中用C語言實現的函數庫Xlib提供了直接訪問協議的原語,提供了信息交換的能力。

X.11.3共有120多個請求,且具有可擴充性,描述了客戶與服務器進程通信的結構、語法及語義。X 協議的主要特點如下:

協議將用戶接口事件和核心窗口系統本身分開,就是窗口管理器與圖形用戶接口的模式,這一特點表現在協議本身與用戶接口的策略無關。簡而言之,接口策略即為各個窗口在顯示終端的布局,窗口大小、位置的控制,這些策略在一個高級程序中由應用程序本身去完成。窗口的動態布局管理是由窗口管理器來完成的,這一特點有利于實現與操作系統和顯示沒備無關。

協議提供了網絡透明性,開發者使用協議函數而不需了解下層的網絡如何完成各種數據和管理信息傳輸。

為了減小網絡開銷,提高網絡性能,客戶和服務器之間的通信是異步的。也就是說,在客戶和服務器之間傳送的大多數報文不必直接由對等實體給出應答。當一個報文被客戶或服務器發送后,接收和處理都被默認為正確地進行。這個假定加快了X11的操作,因為在假定網絡傳輸是可靠的情況下,客戶或服務器不必等待X11應答。實際執行所帶來的遲延如果超過一定限度,則協議規定重發請求。

提高網絡性能的另一種方法是將許多相關的請求或應答合成一組用一個數據包分組發送,這大大縮小了在網絡中傳輸的分組個數。基于這一特點,X11協議有時也被稱為面向塊的協議,不同的實現解決服務數據包的分解和重組的方法有所不同。

用OSI的觀點來看,X11被認為是一個支持分布式應用的協議,但該協議并不提供太多的諸如中的第一層到第六層所提供的服務,因此被認為最接近應用層。但由于X11在中存在著表示層數據表示,會話層維護一次會話,確定異步請求和應答的特點,很多人認為相當于參考模型中的上三層,而其本身應作為運輸層上的一個模塊。另一種觀點是從嚴格的OSI七層結構出發,認為X11僅僅能作為一個應用層中的應用服務元素,并將它的服務原語映射到聯系控制服務元素以及表示層服務上。應用層映射觀點則代表了將 X系統映射到 OSI模型的戰略方向。

9. 窗口管理器

在Xwindow系統中,窗口管理器是一種特殊的客戶端程序,其功能是將服務器和客戶端之間的交互數據重定向到窗口管理器中,所以,窗口管理在GUI體系結構中處于中間角色。

窗口管理器是決定X外觀風格的重要程序,能夠改變窗口的大小或位置、將窗口在堆疊中重新安排位置、或將窗口改變成圖標等等。在X中,窗口管理器類似于Linux系統中的shell命令行解釋器:shell只是一個用戶進程,如果改變它也就改變了系統的用戶界面。

但是,窗口管理器和X的關系與shell和命令行的關系還是有本質上的不同。簡單一點,沒有窗口管理器也可以使用X,只不過界面簡陋一點,使用不太方便;但沒有了shell就沒有了命令行。窗口管理器除了具有管理窗口的基本功能外,還改進了界面的品質。原來的目的是為了降低鍵盤輸入的需要,而改成盡量多地使用鼠標。一個常見的功能是提供一個自己可以建構的一般性菜單,只要選取一個菜單選項便可啟動窗口應用程序。這個啟動的命令通常包含了指示應用窗口在何處出現、大小多少、文本用什么顏色等等,使用者不需要輸入很多的信息便能啟動應用程序。

窗口管理器和客戶端之間遵循ICCCM協議,大多數通信建立在父窗口的屬性之上,也可以通過窗口管理器產生的事件進行通信。Shell處理客戶端和窗口管理器之間的通信,客戶端不需要直接處理屬性或事件,通過設定Shell的資源來指定窗口的屬性。

X Client 應用程序可以最小化成圖標。圖標的結構常簡單,只是窗口的代表圖案,當系統圖標化一個應用窗口時,窗口管理器告訴 Server 不再顯示這個窗口到屏幕 上。窗口管理器通常提供預設的圖標,但是 Client 應用程序可以提供它自己的圖標并建議使用,有些窗口管理器接受這個要求,有些則不接受仍采用自己的圖標,只把這個需求當作給窗口管理器的提示。 

就如同要求顯示一個特定的圖標一樣,應用程序也能傳遞其他的提示或信息給窗口管理器,這包括:

  • 應用程序和圖標窗口的名稱
  • 當應用程序和圖標窗口被建立時?它們在屏幕上的位置信息
  • 對窗口大小的限制(例如x?Client可以要求“所占用的窗口長度/寬度不得少于多少”)
  • 對窗口重定大小的特別要求

這種將信息傳遞給窗口管理器的機制稱之為屬性機制。大部分重定大小或圖標化的工作是通過窗口管理器實現的,這是因為它是一個公有的 Client。從理論上來說,任何Client均可隨意重定自己的大小,但如果所有Client都這樣做,便會造成不必要的混亂。因此,要這些應用程序和平共存的原則是:不要自行重定大小,把它交給窗口管理器也就是讓用戶去決定。

窗口管理器負責以下3個核心任務:

  • 接受窗口進入的消息,并使消息正確路由至目的窗口并觸發窗口過程;
  • 更新活動窗口和焦點窗口控件;
  • 維護窗口的序列和各個窗口的剪切矩形鏈,正確進行窗口重繪,執行窗口過程。

當使用窗口管理器時,服務器并不直接和其他客戶端通信,而是通過窗口管理器中轉,當一些消息被定義為WM指令時,它們會被攔截。

X Window努力做到和桌面(Desktop Enviroment)分離, 但還是出現了很多功能上的重合,很多桌面提供者都開始自己制作窗口管理器,并與桌面直接捆綁在一起,例如GNOME 和KDE。

圖片

KDE的價值不僅在于它包含了窗口管理器、文件管理器、工具面板、控制中心以及其他用戶想得到的現代桌面系統應包含的組件,其真正的力量體現在內部各組成部分之間的互操作能力。KDE試圖建立一個桌面環境,而不只是一個窗口管理器。KDE達到了令人驚訝的成熟程度,但由于KDE基于的QT庫的許可證問題,有些人拒絕使用它。所幸的是QT庫已開放源代碼,但好像還是沒有變成是基于GPL的方式。

GNOME是GNU網絡對象模型環境的縮寫,項目的目標是在完全基于免費軟件的基礎上建立一個完整的、用戶友好的桌面環境。GNOME是GNU項目的一部分,同時也是開放源碼運動的一部分,包含一組有一致外觀的小工具和大的應用,所有應用程序都使用GTK+作為其GUI工具箱。GNOME并不與某個窗口管理器綁定,它的組件之間的互操作性不限于應用,而是可以跨越計算機和系統平臺,因為它采用了公共對象請求代理結構(CORBA)。同時,它基于的GTK+庫是完全免費且開放源碼的,這和Linux的哲學一致。

10. 從X 到 Wayland

X11已經很古老了,X server協議提供的大部分功能不再使用,X11所做的幾乎所有工作都重新分配給了各個應用程序和窗口管理器。

Wayland 由X Org開發人員Kristian Hogsberg于2008年作為個人項目開始。它是一種通信協議 ,用于指定顯示服務器與其客戶端之間的通信。Wayland最初是作為一個免費的開源項目開發的,目的是用現代、安全和簡單的窗口系統代替X11。

圖片

在Wayland中,Compositor是一個窗口管理器,它為應用程序提供每個窗口的屏幕外緩沖區。窗口管理器將窗口緩沖區合成為代表屏幕的圖像,并將結果寫入顯示內存。Wayland協議允許合成器將輸入事件直接發送到客戶端,并讓客戶端將事件直接發送到合成器。與X情況一樣,客戶端在接收到事件時會作為響應更新用戶界面。但是,在Wayland中,渲染發生客戶端,并且客戶端只是向合成器發送請求以指示已更新的區域。Wayland的”直接渲染架構”徹底結束了傳統X 系統在渲染圖形時需要不停的向Server請求、確認再繪制這個繁瑣的過程,理論上響應速度有了本質的增長。

圖片

也就是說,Wayland從根本上消除了”Server+Compositor”的重復勞動,僅有且只需要有一個”Compositor”合成器而已。Wayland Compositor的角色,就像是”X Server”+”Window Manager”,但它只做自己分內之事而已。Wayland構架簡單高效,試圖解決”X Window”發展這么多年來積累的、通過“擴展”去解決的那些問題。

但是,到目前為止,現有的絕大多數應用程序都是為X編寫的。在移植所有這些應用程序之前,需要維護Xorg,與Xorg相比,Wayland還不是很穩定。

?【參考資料】 

https://www.x.org/wiki/

https://wayland.freedesktop.org/

https://en.wikipedia.org/wiki/Wayland_(display_server_protocol)

http://www.gnome.org

http://www.kde.org

https://blog.csdn.net/a8039974/article/details/122867167


責任編輯:武曉燕 來源: 喔家ArchiSelf
相關推薦

2024-05-13 10:27:37

DevOps云技術IT

2019-01-14 15:31:42

HTTP23

2023-04-02 23:22:04

GPU流水線體系

2022-11-15 07:30:04

EverDB云端alive

2022-10-25 07:23:45

2022-10-18 07:17:31

2022-11-01 07:25:27

EverDB數據庫SQL

2022-11-08 07:20:55

EverDB混沌測試

2018-11-09 11:10:11

微軟沈向洋人工智能

2013-08-20 10:40:54

EIGRPOSPF區別

2023-01-03 00:00:17

2020-07-13 11:00:06

前端JavaScript自測清單

2020-04-14 11:48:59

密碼網絡攻擊網絡安全

2014-01-23 16:24:09

網易郵箱

2024-07-08 12:03:41

2023-11-01 10:38:46

Linux高性能網絡編程

2020-09-04 07:33:12

Redis HashMap 數據

2011-04-12 09:53:32

Spring

2013-01-04 09:57:40

服務器市場盤點2012

2011-09-05 10:31:10

Ubuntu 11.1Ubuntu
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成年人在线播放 | 黄网免费| 亚洲精久久久 | 精品久久久久久红码专区 | 激情视频一区 | 久久国产精品无码网站 | 国产黄色在线观看 | 久草精品视频 | 91视频在线网站 | 成人免费精品 | 亚洲国产高清高潮精品美女 | 一级a性色生活片久久毛片波多野 | 国产成人免费视频网站视频社区 | 欧美精品第一区 | 不卡av电影在线播放 | 超碰天天 | 国产午夜精品久久 | 九九热精品视频 | 成人av网站在线观看 | 91久久精品一区二区二区 | 999观看免费高清www | 国产精品无码久久久久 | 成人免费观看男女羞羞视频 | 国产一区二区 | 欧美精品在欧美一区二区少妇 | 在线观看av不卡 | 天天拍天天色 | 欧美一区视频在线 | 精品婷婷 | 国产精品精品久久久久久 | av在线一区二区三区 | 毛片免费在线观看 | 中文日韩字幕 | 免费视频二区 | 久久久精品一区二区三区 | 亚洲天天干 | 欧美一区二区三区四区在线 | 久热久草 | 久久男人 | 欧美高清视频一区 | 羞羞视频网站免费观看 |