亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? mapx.pas

?? MAPX開(kāi)發(fā)基礎(chǔ)程序
?? PAS
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
unit MapX;

interface

uses MapXLib_TLB, Classes, Controls, Dialogs, SysUtils, Forms, Variants, Printers,
  RulerFrm, AreaFrm, InforFrm, Graphics, Messages, CommCtrl, Windows;

type
  TMapX = class;

  TMapXToolType = (
    mttPointSelectTool=100, mttRadiusSelectTool=101, mttRectSelectTool=102,
    mttPolygonSelectTool=103, mttMultiRadiusSelectTool=104, mttMultiRectSelectTool=105,
    mttMultiPolygonSelectTool=106, mttInforTool=107, mttRulerTool=108, mttAreaTool=109,
    mttLabelTool=110,
    mttArrowTool=1000, mttPanTool=1001, mttZoomInTool=1003, mttZoomOutTool=1004
    );

  //所有工具的基類
  TMapXToolObject = class
  private
    FMapX: TMapX;
    FToolType: TMapXToolType;
  public
    constructor Create(const Sender: TMapX); virtual;
    //執(zhí)行工具
    procedure Execute; virtual; abstract;
  end;

  //所有選擇工具的基類,在Execute方法中判斷圖層是否可選擇
  TMapXSelectToolObject = class(TMapXToolObject)
  private
    //能否被使用
    FEnable: Boolean;
    //選擇對(duì)象結(jié)果,由具體的工具實(shí)現(xiàn)
    FSelection: CMapxFeatures;
  public
    procedure Execute; override;
  end;

  //所有跟點(diǎn)選有關(guān)工具的基類,在Execute方法中獲得選擇對(duì)象
  TMapXPointSelectToolObject = class(TMapXSelectToolObject)
  public
    procedure Execute(X1, Y1: Double); overload; virtual;
  end;

  //點(diǎn)選擇工具
  TPointSelectTool = class(TMapXPointSelectToolObject)
  public
    constructor Create(const Sender: TMapX); override;
    procedure Execute(X1, Y1: Double; Shift, Ctrl: WordBool); overload;
  end;

  //圓選擇工具
  TRadiusSelectTool = class(TMapXSelectToolObject)
  public
    constructor Create(const Sender: TMapX); override;
    procedure Execute(X1, Y1, Distance: Double; Shift, Ctrl: WordBool); overload;
  end;

  //矩形選擇工具
  TRectSelectTool = class(TMapXSelectToolObject)
  public
    constructor Create(const Sender: TMapX); override;
    procedure Execute(X1, Y1, X2, Y2: Double; Shift, Ctrl: WordBool); overload;
  end;

  //多邊形選擇工具
  TPolygonSelectTool = class(TMapXSelectToolObject)
  public
    constructor Create(const Sender: TMapX); override;
    procedure Execute(const Points: IDispatch; Shift, Ctrl: WordBool); overload;
  end;

  TRulerMode = (rmFinished,rmProcessing);
  TMouseMode = (mmDown,mmMove);
  //距離丈量工具
  TRulerTool = class(TMapXToolObject)
  private
    FfrmRuler: TfrmRuler;
    FXDown, FYDown: Double;    //記錄鼠標(biāo)按下的地圖坐標(biāo)
    FXMove, FYMove: Double;    //記錄鼠標(biāo)移到的地圖坐標(biāo)
    FRulerMode : TRulerMode;     //記錄標(biāo)尺的模式是處于進(jìn)行狀態(tài)還是完成狀態(tài)
    FRuleCurrDistance: Double;   //記錄當(dāng)前兩點(diǎn)之間的距離
    FRulePastDistance: Double;  //記錄已經(jīng)經(jīng)過(guò)的距離距離
  public
    constructor Create(const Sender: TMapX); override;
    destructor Destroy; override;
    procedure Execute(X, Y: Integer; Button: TMouseButton; Mode: TMouseMode); overload;
  end;

  //面積丈量工具
  TAreaTool = class(TMapXToolObject)
  private
    FGirth: Double;   //多邊行:周長(zhǎng)-首尾點(diǎn)長(zhǎng)度
    FArea: Double;
    FfrmArea: TfrmArea;
  public
    constructor Create(const Sender: TMapX); override;
    destructor Destroy; override;
    procedure Execute(const Points: IDispatch); overload;
  end;

  //對(duì)象信息顯示工具
  TInforTool = class(TMapXPointSelectToolObject)
  private
    FfrmInfor: TfrmInfor;
  public
    constructor Create(const Sender: TMapX); override;
    destructor Destroy; override;
    procedure Execute(X1, Y1: Double); override;
  end;
  
  //對(duì)象標(biāo)注工具
  TLabelTool = class(TMapXPointSelectToolObject)
  public
    constructor Create(const Sender: TMapX); override;
    procedure Execute(X1, Y1: Double); override;
  end;

  { 所有地圖編輯工具的基類 
  TEditToolObject = class(TToolObject)
  private
    FEditable: Boolean;
    FTimer: TTimer;
  public
    constructor Create(const Sender: TMapX); override;
    procedure Activate; override;
    procedure OnTimer(Sender: TObject); virtual; abstract;
    destructor Destroy; override;
    //當(dāng)前圖層是否可編輯,在改變當(dāng)前圖層時(shí)獲得
    //  詳見(jiàn)MapXCurrentLyrChanged函數(shù)
    property Editable: Boolean read FEditable write FEditable;
    property Timer: TTimer read FTimer write FTimer;
  end;
  }
  { 增加點(diǎn)對(duì)象工具 
  TAddPointTool = class(TEditToolObject)
  public
    constructor Create(const Sender: TMapX); override;
    procedure Execute(X1, Y1: Double); overload;
  end;
  }
  { 增加多邊線工具 
  TAddPolyLineTool = class(TEditToolObject)
  private
    procedure OnTimer(Sender: TObject); override;
  public
    constructor Create(const Sender: TMapX); override;
    procedure Execute(const Points: IDispatch); overload;
  end;
  }
  { 增加多邊形工具 
  TAddPolygonTool = class(TEditToolObject)
  public
    constructor Create(const Sender: TMapX); override;
    procedure Execute(const Points: IDispatch); overload;
  end;
  }
  TMapXThemeType = (mttRanged, mttBar, mttPie, mttGradSymbol, mttDotDensity,
    mttIndividualValue);
  //專題圖
  TMapXTheme = class(TObject)
  private
    FMapX: TMapX;
    FName: string;
    //地圖上的對(duì)象ID集合
    FFeatureIDList: TStringList;
    //數(shù)據(jù)庫(kù)表名
    FDBTableName: string;
    //表中索引字段名
    FIDFieldName: string;
    //表中數(shù)據(jù)字段名
    FDataFieldName: string;
    //專題圖類型
    FThemeType: TMapXThemeType;
  public
    constructor Create(const Sender: TMapX); virtual;
    destructor Destroy; override;
    procedure LoadFromStream(AStream: TStream);
    procedure SaveToStream(var Stream);
    procedure CreateLayerTheme(ALayer: string; FeatureIDs: TStringList = nil);
    property MapX: TMapX read FMapX;
  end;

  { 按Tab表字段搜索對(duì)象的種類:
    stExact:        精確匹配
    stLeftDim:      從左邊起匹配
    stRightDim:     從右邊起匹配
    stArbitraryDim: 任意匹配
    獲取搜索結(jié)果函數(shù): GetSearchResult}
  TSearchType = (stExact, stLeftDim, stRightDim, stArbitraryDim);

  { 對(duì)象空間位置分析的種類:
     atSelected:    顯示當(dāng)前土層的選擇對(duì)象結(jié)果
     atAlongLine:   顯示沿線周邊緩沖區(qū)內(nèi)的對(duì)象結(jié)果
     atInRegion:    顯示某區(qū)域內(nèi)的對(duì)象結(jié)果
     atAroundPoint: 顯示某點(diǎn)周圍緩沖區(qū)內(nèi)的對(duì)象結(jié)果
     獲取結(jié)果函數(shù): GetAnalyseResult}
  TAnalyseType = (atSelected, atAlongLine, atInRegion, atAroundPoint);
  TAnalyseTypes = set of TAnalyseType;

  TWorkLayerChanged = procedure(Sender: TObject; NewWorkLayer: string) of object;
  TCurrentToolChanged = procedure(Sender: TObject; NewTool: TMapXToolType) of object;

  TMapX = class(TObject)
  private
    FMap: TMap;
    //地圖文件
    FFileName: string;
    //工作圖層
    FWorkLayer: string;
    //當(dāng)前鼠標(biāo)所處的地理坐標(biāo)
    FMouseX,FMouseY: Double;
    //當(dāng)前鼠標(biāo)所處的屏幕坐標(biāo) }
    FMouseScreenX, FMouseScreenY: Integer;
    //當(dāng)前鼠標(biāo)位置下,"當(dāng)前圖層"上的對(duì)象.根據(jù)鼠標(biāo)的移動(dòng)即時(shí)更新
    FFeatureUnderMouse: CMapXFeature;
    //當(dāng)前工具
    FCurrentTool: TMapXToolType;
    //各種工具
    FPointSelectTool: TPointSelectTool;
    FRadiusSelectTool: TRadiusSelectTool;
    FRectSelectTool: TRectSelectTool;
    FPolygonSelectTool: TPolygonSelectTool;

    FInforTool: TInforTool;
    FRulerTool: TRulerTool;
    FAreaTool: TAreaTool;
    FLabelTool: TLabelTool;

    FOnWorkLayerChanged: TWorkLayerChanged;
    FOnCurrentToolChanged: TCurrentToolChanged;

    FMapXTheme: TMapXTheme;

    procedure SetFileName(const Value: string); virtual;
    procedure SetWorkLayer(const Value: string);
    procedure SetCurrentTool(const Value: TMapXToolType);
    function LayerExist(ALayer: string): Boolean;
    function LayerVisible(ALayer: string): Boolean;
    function LayerSelectable(ALayer: string): Boolean;
    function DataExist(AData: string): Boolean;
    function GetMapHandle: HWND;
  protected
    procedure MapXOnMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer); virtual;
    procedure MapXOnMouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer); virtual;
    procedure MapXOnMouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer); virtual;
    procedure MapXOnToolUsed(ASender: TObject; ToolNum: Smallint; X1, Y1, X2,
      Y2, Distance: Double; Shift, Ctrl: WordBool;
      var EnableDefault: WordBool); virtual;
    procedure MapXOnPolyToolUsed(ASender: TObject; ToolNum: Smallint;
      Flags: Integer; const Points: IDispatch; bShift, bCtrl: WordBool;
      var EnableDefault: WordBool);  virtual;
  public
    constructor Create(AOwner: TComponent); overload; virtual;
    destructor Destroy; override;
    //打開(kāi)地圖
    procedure OpenFile(AFileName: string); virtual;
    //獲取地圖的所有圖層名稱
    procedure Get_Layers(AList: TStringList);
    //獲取地圖的所有可視圖層名稱
    procedure Get_VisibleLayers(AList: TStringList);
    //獲取地圖的某一圖層的字段集合
    procedure Get_LayerFields(ALayer: string; AList: TStringList);
    //設(shè)置圖層的可視否
    procedure SetLayerVisible(ALayer: string; IsVisible: Boolean);
    //設(shè)置圖層的關(guān)鍵字段
    procedure SetLayerKeyField(ALayer, AField: string);
    //設(shè)置某個(gè)圖層的選擇結(jié)果
    //若Shift為true: 從圖層Lyr的已有選擇對(duì)象中去除Fs
    //若Ctrl為true: 從圖層Lyr的已有選擇對(duì)象中增加Fs
    //若Shift、Ctrl均為False:用Fs代替圖層Lyr的已有選擇對(duì)象
    procedure SetLayerSelection(Shift, Ctrl: boolean;
      Fs: CMapxFeatures; ALayer: String);
    //地圖標(biāo)題屬性設(shè)置
    procedure TitleSetting;
    //圖層屬性設(shè)置
    procedure LayerSetting;
    //專題圖屬性設(shè)置
    procedure ThemeSetting;
    //查詢對(duì)象設(shè)置
    procedure SearchSetting;
    //緩沖區(qū)分析設(shè)置
    procedure AnalyseSetting(AnalyseType: TAnalyseType);
    //保存地圖
    procedure SaveAsGstFile;
    //保存地圖為圖片
    procedure SaveAsGraph;
    //打印地圖
    procedure PrintMap;
    //綁定圖層數(shù)據(jù)
    procedure BindLayerData(ALayer: string);
    //返回圖層的個(gè)數(shù)
    function GetLayerCount: Integer;
    //獲得數(shù)據(jù)集的個(gè)數(shù)
    function GetDataSetCount: Integer;
    //獲得數(shù)據(jù)集
    function GetDataSetByName(AName: string): CMapXDataSet;
    //獲得圖層
    function GetLayerByName(AName: string): CMapXLayer;
    //獲得搜索結(jié)果
    function GetSearchResult(ALayer, AField, AText: string;
      SearchType: TSearchType): CMapxfeatures;
    //返回幾個(gè)對(duì)象合并后的對(duì)象
    function GetCombinedFeature(Fs: CMapXFeatures): CMapXFeature;
    //獲取對(duì)象空間分析的種類
    function GetAnalyseTypes(SourceFs: CMapXFeatures): TAnalyseTypes;
    //獲得空間分析結(jié)果
    function GetAnalyseResult(AnalyseType: TAnalyseType; SourceF: CMapXFeature;
      DesLyr: string; Dis: Double): CMapXFeatures;
    //獲得圖層的選擇集
    function GetLayerSelection(ALayer: string): CMapXFeatures;

    property FileName: string read FFileName write SetFileName;
    property WorkLayer: string read FWorkLayer write SetWorkLayer;
    property MouseX: Double read FMouseX;
    property MouseY: Double read FMouseY;
    property FeatureUnderMouse: CMapXFeature read FFeatureUnderMouse;
    property CurrentTool: TMapXToolType read FCurrentTool write SetCurrentTool;
    property MapHandle: HWND read GetMapHandle;
  end;

  THawkMap = class(TMapX)
  private
    FBuddyMapX: TMapX;
    procedure SetFileName(const Value: string); override;
  protected
    procedure MapXOnToolUsed(ASender: TObject; ToolNum: Smallint; X1, Y1, X2,
      Y2, Distance: Double; Shift, Ctrl: WordBool;
      var EnableDefault: WordBool); override;
    procedure MapXOnMapViewChanged(Sender: TObject);
  public
    constructor Create(AOwner: TComponent); override;
    procedure SetBuddyMap(AMapX: TMapX);
  end;

function CreateToolTipWindow(hWndParent :HWND) :HWND;
procedure AddToolTip(hwnd: DWORD; lpToolInfo: PToolInfo; IconType: Integer;
  Text, Title: PChar; BackColor, TextColor:TColor);

const
 TTS_BALLOON    = $40;
 TTM_SETTITLE = (WM_USER + 32);

var
  hToolTip: HWND;      //氣泡提示窗口句柄
  AToolInfo: TToolInfo;


implementation

uses TitleFrm, SaveFrm, PrintFrm, ThemeFrm, SearchFrm, AnalyseFrm;

//創(chuàng)建氣泡提示窗口
function CreateToolTipWindow(hWndParent :HWND) :HWND;
begin
  //DoInitCommonControls(ICC_WIN95_CLASSES);
  //創(chuàng)建窗口TTS_BALLOON就是泡狀窗口
  Result := CreateWindowEx(WS_EX_TOPMOST, TOOLTIPS_CLASS, nil,
    WS_POPUP or TTS_NOPREFIX or TTS_ALWAYSTIP or TTS_BALLOON,
    CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT,
    hWndParent, 0, hInstance, nil );
  SetWindowPos(Result, HWND_TOPMOST, 0, 0, 0, 0,
      SWP_NOMOVE or SWP_NOSIZE or SWP_NOACTIVATE);
  //延遲時(shí)間可以當(dāng)參數(shù)
  SendMessage(Result,TTM_SETDELAYTIME,TTDT_INITIAL,100);
  SendMessage(Result,TTM_SETDELAYTIME,TTDT_RESHOW, 100 div 5);
  //停留顯示時(shí)間
  SendMessage (Result,TTM_SETDELAYTIME,TTDT_AUTOPOP,3000);
end;

procedure AddToolTip(hwnd: DWORD; lpToolInfo: PToolInfo; IconType: Integer;
  Text, Title: PChar; BackColor, TextColor:TColor);
 //BackColor, TextColor分別是背景顏色和文本顏色,如果是0則取默認(rèn)值.
var
  Rect: TRect;
  Buffer : array[0..255] of Char;
begin
  if (hwnd <> 0) and (GetClientRect(hwnd, Rect)) then
  begin
  
   lpToolInfo.cbSize:= SizeOf(TToolInfo);
   lpToolInfo.uFlags:= TTF_SUBCLASS or TTF_TRANSPARENT;
   lpToolInfo.hInst:= hInstance;
   lpToolInfo.hwnd := hwnd;
   lpToolInfo.uId:= hwnd;
   lpToolInfo.Rect := Rect;
   lpToolInfo.lpszText := Text;

   SendMessage(hToolTip, TTM_ADDTOOL, 0, Integer(lpToolInfo));
   FillChar(Buffer, SizeOf(Buffer), #0);
   lstrcpy(Buffer, Title);
   if (IconType > 3) or (IconType < 0) then IconType := 0;
   if BackColor <> 0 then
     SendMessage(hToolTip, TTM_SETTIPBKCOLOR, BackColor, 0);
   if TextColor <> 0 then
     SendMessage(hToolTip, TTM_SETTIPTEXTCOLOR, TextColor, 0);
   SendMessage(hToolTip, TTM_SETTITLE, IconType, Integer(@Buffer));
  end;
end;

{ TMapX }

constructor TMapX.Create(AOwner: TComponent);
begin
  FMap:= TMap.Create(AOwner);
  FMap.Parent:= TWinControl(AOwner);
  FMap.Align:= alClient;
  FMap.OnMouseDown:= MapXOnMouseDown;
  FMap.OnMouseMove:= MapXOnMouseMove;
  FMap.OnMouseUp:= MapXOnMouseUp;
  FMap.OnToolUsed:= MapXOnToolUsed;
  FMap.OnPolyToolUsed:= MapXOnPolyToolUsed;

  FPointSelectTool:= TPointSelectTool.Create(Self);
  FRadiusSelectTool:= TRadiusSelectTool.Create(Self);
  FRectSelectTool:= TRectSelectTool.Create(Self);
  FPolygonSelectTool:= TPolygonSelectTool.Create(Self);

  FInforTool:= TInforTool.Create(Self);
  FRulerTool:= TRulerTool.Create(Self);
  FAreaTool:= TAreaTool.Create(Self);
  FLabelTool:= TLabelTool.Create(Self);

  FMapXTheme:= TMapXTheme.Create(Self);
end;

destructor TMapX.Destroy;
begin
  FMap.Free;
  FPointSelectTool.Free;
  FRadiusSelectTool.Free;
  FRectSelectTool.Free;
  FPolygonSelectTool.Free;

  FInforTool.Free;
  FRulerTool.Free;
  FAreaTool.Free;
  FLabelTool.Free;

  FMapXTheme.Free;
  inherited;
end;

procedure TMapX.Get_Layers(AList: TStringList);
var

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本不卡的三区四区五区| 亚洲精品一区二区三区蜜桃下载| 在线精品视频免费播放| 欧美日韩国产大片| 精品少妇一区二区三区日产乱码 | 久久久精品国产免大香伊| 国产网红主播福利一区二区| 日本一区二区三级电影在线观看| 亚洲美女视频在线观看| 日本成人在线网站| 岛国精品在线播放| 欧美日韩成人在线一区| 国产亚洲一本大道中文在线| 亚洲蜜桃精久久久久久久| 美女免费视频一区二区| 99在线精品免费| 欧美一级一区二区| 自拍偷拍亚洲综合| 老司机精品视频线观看86| 91影视在线播放| 精品久久久网站| 亚洲精品久久7777| 国产一区二区调教| 欧美日韩国产在线播放网站| 国产欧美va欧美不卡在线| 亚洲第一福利视频在线| 国产91精品在线观看| 欧美色涩在线第一页| 中文字幕第一区二区| 日本91福利区| 色视频一区二区| 国产欧美日韩三级| 日韩高清中文字幕一区| 色综合夜色一区| 久久伊99综合婷婷久久伊| 亚洲一区二区不卡免费| 成人一区在线看| 日韩一区二区免费视频| 亚洲综合一区二区三区| 成人国产视频在线观看| 欧美大片顶级少妇| 午夜精品福利一区二区三区蜜桃| av成人免费在线| 国产亚洲精品bt天堂精选| 日韩va亚洲va欧美va久久| 国产精品的网站| 国产精品一区二区免费不卡 | 亚洲人成影院在线观看| 国产在线一区观看| 欧美一区二区三区四区视频| 亚洲另类色综合网站| 成人精品视频.| 久久久五月婷婷| 精品一区二区三区的国产在线播放| 在线观看免费亚洲| 一区精品在线播放| 成人激情小说网站| 久久久久久久免费视频了| 日韩av中文字幕一区二区三区| 91久久精品网| 亚洲欧洲综合另类在线| av毛片久久久久**hd| 国产精品嫩草影院com| 国产一区二区三区黄视频| 日韩亚洲欧美成人一区| 日韩影院免费视频| 欧美日韩电影在线播放| 亚洲1区2区3区4区| 欧美天堂一区二区三区| 亚洲一区成人在线| 欧美色网一区二区| 亚洲成av人片一区二区| 欧美日韩专区在线| 香蕉av福利精品导航| 欧美日韩在线播放一区| 亚洲成人一二三| 欧美伦理电影网| 日日噜噜夜夜狠狠视频欧美人| 69堂国产成人免费视频| 男女男精品网站| 欧美哺乳videos| 国产毛片精品视频| 国产无一区二区| 成人av一区二区三区| 中文字幕亚洲综合久久菠萝蜜| 91在线你懂得| 亚洲午夜精品17c| 91精品综合久久久久久| 久久国产精品露脸对白| 国产午夜精品在线观看| av亚洲产国偷v产偷v自拍| 亚洲天堂精品在线观看| 在线观看国产精品网站| 日韩电影在线一区二区| 精品久久久久久久久久久久包黑料 | 国产馆精品极品| 中文字幕一区二区三区在线播放 | 日韩一区精品字幕| 91麻豆精品国产无毒不卡在线观看| 蜜桃视频第一区免费观看| 精品国产乱码久久久久久久 | 国产欧美日韩精品在线| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 精品少妇一区二区三区日产乱码| 国产一区二区在线电影| 中文字幕一区日韩精品欧美| 欧美日韩视频第一区| 精品中文字幕一区二区小辣椒| 国产日韩成人精品| 色狠狠一区二区| 喷白浆一区二区| 国产精品青草久久| 欧美日韩国产一二三| 国内精品写真在线观看| 日韩伦理免费电影| 91精品综合久久久久久| 国产成人啪免费观看软件 | 欧美亚洲图片小说| 玖玖九九国产精品| 国产精品久久久久一区二区三区 | 99久久国产综合精品女不卡| 亚洲国产成人高清精品| 久久五月婷婷丁香社区| 91福利国产精品| 国内不卡的二区三区中文字幕 | 精品1区2区3区| 国产露脸91国语对白| 一区二区久久久久久| 久久久久久久久久久久久女国产乱 | 69p69国产精品| 粉嫩av亚洲一区二区图片| 午夜精品在线看| 国产精品理论片在线观看| 777午夜精品免费视频| 成人免费观看av| 老司机免费视频一区二区| 亚洲毛片av在线| 国产视频亚洲色图| 欧美精品一卡二卡| 99re这里只有精品首页| 久久99精品久久久久久国产越南| 尤物视频一区二区| 欧美激情艳妇裸体舞| 欧美电影在哪看比较好| 99精品一区二区| 国产美女av一区二区三区| 午夜精品久久久久久久久久| 国产精品久线在线观看| www国产亚洲精品久久麻豆| 欧美三级日本三级少妇99| 成人免费毛片aaaaa**| 久草中文综合在线| 天堂在线亚洲视频| 亚洲伦理在线免费看| 国产人成一区二区三区影院| 日韩欧美成人午夜| 欧美日韩亚洲综合在线| 色婷婷久久99综合精品jk白丝| 粉嫩一区二区三区在线看| 六月丁香综合在线视频| 午夜日韩在线电影| 亚洲自拍与偷拍| 亚洲激情av在线| 自拍偷拍国产亚洲| 国产精品拍天天在线| 久久精品人人做人人爽人人| 日韩精品一区二区三区四区| 91精品国产美女浴室洗澡无遮挡| 欧洲一区在线电影| 色综合欧美在线视频区| 97久久精品人人爽人人爽蜜臀| 国产二区国产一区在线观看| 久久99精品国产.久久久久| 日本麻豆一区二区三区视频| 日韩福利视频网| 日本亚洲电影天堂| 日韩黄色片在线观看| 丝袜美腿亚洲色图| 日韩精品电影在线| 日韩国产在线一| 日韩电影免费一区| 日本美女一区二区三区| 日韩不卡一区二区三区| 日本不卡123| 久久国产精品第一页| 精品一区二区三区久久久| 国产在线一区二区| 国产91精品免费| 99国产欧美久久久精品| 91啪九色porn原创视频在线观看| 99久久99久久综合| 日本精品视频一区二区| 欧美在线视频你懂得| 欧美三级电影网| 91精品在线免费| 久久综合色鬼综合色| 国产午夜亚洲精品羞羞网站| 国产欧美一区二区在线观看| 国产精品久久久久久久久久久免费看 | 亚洲免费视频成人|