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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? janshapecontroller.pas

?? 更好用的 shape 控件 delphi 3.0, 4.0, 5.0, 6.0, 7.0 適用
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
unit janShapeController;



interface

uses
  Windows,
  TypInfo,
  Messages,
  SysUtils,
  Classes,
  Graphics,
  Controls,
  Forms,
  Dialogs,
  menus,
  DsgnIntf,
  janshape,
  janShapeEditor,
  printers;

type
  TonShapeSelected=procedure(sender:TObject;AShape:TjanShape) of object;
  TonMouseModeChanged= procedure (sender:TObject; AMouseMode:TShapeMouseMode) of object;
  TjanShapeController = class(TPopupMenu)
  private
    { Private declarations }
    FObjList:TList;
    FSelObjList:TList;
    FShape:TjanShape;
    FImageList:TImageList;
    FMenuCaptions:TStringlist;
    startimgshape:integer;
    startimggradient:integer;
    startimgUser:integer;
    FGradientColor: Tcolor;
    FBrushColor: Tcolor;
    FBackColor: TColor;
    FMouseMode: TShapeMouseMode;
    FMouseModeController: boolean;
    FMouseGrid: boolean;
    FMouseGridSize: integer;
    FonShapeDeleted: TNotifyEvent;
    FonMouseModeChanged: TonMouseModeChanged;
    FonShapeSelected: TonShapeSelected;
    FUserShapes: TStringlist;
    procedure CreateShapeImages;
    procedure initGradientStyleMenu;
    procedure initShapeStyleMenu;
    procedure initUserShapeStyleMenu;
    procedure initBrushStyleMenu;
    procedure initPenStyleMenu;
    procedure initBrushColorMenu;
    procedure initGradientmenu;
    procedure initGradientColorMenu;
    procedure initCaptionMenu;
    procedure initMouseMenu;
    procedure initOtherMenu;
    procedure SetBrushColor(const Value: Tcolor);
    procedure SetGradientColor(const Value: Tcolor);
    procedure SetBackColor(const Value: TColor);
    procedure ShapeStyleClick(sender:TObject);
    procedure GradientStyleClick(sender:TObject);
    procedure BrushStyleClick(sender:TObject);
    procedure PenStyleClick(sender:TObject);
    procedure BrushColorClick(sender:Tobject);
    procedure PenColorClick(sender:Tobject);
    procedure GradientColorClick(sender:Tobject);
    procedure GradientClick(sender:Tobject);
    procedure FontClick(sender:Tobject);
    procedure CaptionClick(sender:Tobject);
    procedure AngleClick(sender:Tobject);
    procedure PenSizeClick(sender:Tobject);
    procedure CenteredClick(sender:Tobject);
    procedure MouseModeClick(sender:TObject);
    procedure PolyLineModeClick(sender:TObject);
    procedure GroupNameClick(sender:TObject);
    procedure ActiveMouseClick(sender:Tobject);
    procedure popping(sender:TObject);
    function ScaleX(I: Integer): Integer;
    function ScaleY(I: Integer): Integer;
    procedure SetMouseMode(const Value: TShapeMouseMode);
    procedure SetMouseModeController(const Value: boolean);
    procedure SetMouseGrid(const Value: boolean);
    procedure SetMouseGridSize(const Value: integer);
    procedure BringToFrontClick(sender: TObject);
    procedure DeleteObjectClick(sender: TObject);
    procedure SendToBackClick(sender: TObject);
    procedure SetonShapeDeleted(const Value: TNotifyEvent);
    procedure SetonMouseModeChanged(const Value: TonMouseModeChanged);
    procedure SetonShapeSelected(const Value: TonShapeSelected);
    function FindMenuCaption(ACaption: string): TmenuItem;
    procedure SetUserShapes(const Value: TStringlist);
    procedure UserShapeStyleClick(sender: TObject);
    procedure ClearMenu;
    procedure initAlignMenu;
    procedure alBottomClick(sender: TObject);
    procedure alLeftClick(sender: TObject);
    procedure alRightClick(sender: TObject);
    procedure alTopClick(sender: TObject);
    procedure eqHeightClick(sender: TObject);
    procedure eqWidthClick(sender: TObject);
    procedure ConnectorNClick(sender: TObject);
    procedure ConnectorEClick(sender: TObject);
    procedure ConnectorSClick(sender: TObject);
    procedure ConnectorWClick(sender: TObject);
  protected
    { Protected declarations }
  public
    { Public declarations }
    {Assign a TjanShapeController as the popup component of TjanShape components and you can provide your users with full control over the shapes.}
    {}
    {Specially when you are using the shapes in a vector drawing program this is a real time saver.}
    constructor Create(AOwner:Tcomponent);override;
    {Creates an instance of TjanShapeController.}
    destructor Destroy;override;
    {Destroys an instance of TjanShapeController.}
    procedure CreateMenu;
    {Creates all the items of the popupmenu and all the images that are displayed with the menu items.}
    procedure ModifyshapeStyle(AShape:TjanShape;AShapeStyle:string);
    {Modifies the shape style using a string value.}
    {}
    {The value must be one of the valid shape styles.}
    procedure ModifyGradientStyle(AShape: TjanShape; AGradientStyle: string);
    {Modifies the gradient style using a string value.}
    procedure PrintShapes(var Alist:Tlist;scale:extended);
    {Prints all the TjanShape objects in Tlist to scale.}
    procedure SelectingShape(Ashape:TjanShape);
    {Select a TjanShape object. A selected shape is displayed with a square red mark in the center.}
    procedure SmoothResize(var Src, Dst: TBitmap);
    {Creates a smooth resized copy of Src bitmap in Dst bitmap.}
    {}
    {This is just a utility function you can use at will.}
    procedure MovingShape(AShape:TjanShape;dx,dy:integer);
    {You will normally not use this procedure directly.}
    {  }
    {TjanShape object that have a TjanShapeController as their popupcomponent will call this procedure when the user moves them. The ShapeController will move then all the shapes with the same groupname.}
    {}
    {The shapecontroller will also take care of positioning connector shapes if any.}
    procedure AddObj(AShape:TjanShape);
    {Add a TjanShape object to the object list.}
    procedure InsertObj(AShape: TjanShape);
    {Inserts a TjanShape object at the top of the object list.}
    procedure DeleteObj(AShape:TJanShape);
    {Deletes a TjanShape object from the list and frees the object.}
    procedure DeSelectAll;
    {Deselects all shapes in the Shapecontroller's shapes collection.}
    procedure ClearAll;
    {Clears all shapes from the shapecontroller's shapes collection and frees the shapes.}
    procedure SaveAll(Afilename:string);
    {Saves all TjanShape objects in the object list to a file with a .obd extension.}
    procedure SelectRect(R:Trect);
    {Selects all objects from the object list that are withitn the rectangle.}
    procedure ZOrderUp;
    {Changes the Zorder from the objects in the shapes collection from the last one up.}
    procedure ZorderDown;
    {Changes the Zorder from the objects in the shapes collection from the first one down.}
  published
    { Published declarations }
    property UserShapes:TStringlist read FUserShapes write SetUserShapes;
    {Hold all user defined shapes. A special property editor allows you to design new user shapes at design time.}
    {}
    {At run time when a TjanShape instance has a TjanShapeController as popupmenu the user can select any of these user shapes.}
    property BrushColor:Tcolor read FBrushColor write SetBrushColor;
    {Determines the BrushColor of the popup menu images.}
    property GradientColor:Tcolor read FGradientColor write SetGradientColor;
    {Determines the GradientColor of the popup menu images.}
    property BackColor:TColor read FBackColor write SetBackColor;
    {Determines the BackColor of the popup menu images.}
    property MouseMode:TShapeMouseMode read FMouseMode write SetMouseMode;
    {Determines the default mouse mode.}
    property MouseModeController:boolean read FMouseModeController write SetMouseModeController;
    {Determines if the shapecontroller will be used as a mousemode controller.}
    property MouseGrid:boolean read FMouseGrid write SetMouseGrid;
    {Determines if a grid will be used when sizing and moving shapes.}
    property MouseGridSize:integer read FMouseGridSize write SetMouseGridSize;
    {Determines the size of the grid in pixels.}
    property onShapeDeleted:TNotifyEvent read FonShapeDeleted write SetonShapeDeleted; //event
    {Occurs when the user deletes an object from the object list via the popup menu.}
    property onMouseModeChanged:TonMouseModeChanged read FonMouseModeChanged write SetonMouseModeChanged;//event
    {Occurs when the user changes the mousemode with the popup menu.}
    property onShapeSelected:TonShapeSelected read FonShapeSelected write SetonShapeSelected; //event
    {Occurs when the user selects an object from the list.}
  end;

  TUserShapeProperty=class (TClassproperty)
  public
    function Getattributes: TPropertyAttributes; override;
    procedure Edit;override;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('jans', [TjanShapeController]);
  RegisterPropertyEditor(TypeInfo(TStringList),TjanShapeController,'UserShapes',TUserShapeProperty);
end;

procedure TjanShapeController.ClearMenu;
var i,ic:integer;
    m:TMenuItem;

  procedure ClearSubmenu(mm:Tmenuitem);
  var ii,iic:integer;
      subm:TmenuItem;
  begin
     iic:=mm.Count ;
     if iic=0 then exit;
     for ii:=iic-1 downto 0 do
     begin
      subm:=mm.items[ii];
      ClearSubMenu(subm);
      mm.Delete (ii);
      subm.free;
     end;
  end;

begin
  ic:=items.Count ;
  if ic=0 then exit;
  for i:=ic-1 downto 0 do
  begin
    m:=items[i];
    ClearSubMenu(m);
    items.Delete (i);
    m.free;
  end;
end;

procedure TjanShapeController.CreateMenu;
begin
  FmenuCaptions.clear;
  FImageList.Clear ;
  ClearMenu;
  FMouseMode:=mmfixed;
  FMouseModeController:=false;
  CreateShapeImages;
  initShapeStyleMenu;
  initUserShapeStyleMenu;
  initGradientStyleMenu;
  initGradientmenu;
  initGradientColorMenu;
  initBrushColorMenu;
  initBrushStyleMenu;
  initPenStyleMenu;
  initCaptionMenu;
  initMouseMenu;
  initAlignmenu;
  initOthermenu;
end;

procedure TjanShapeController.CreateShapeImages;
var
  PropInfo: PPropInfo;
  ptd: PtypeData;
  i,j,imgcount,uc:integer;
  PropValue:integer;
  g:TjanShape;
  bm:tbitmap;
  R:Trect;
  cap:string;
begin
  if not assigned(images) then exit;
  g:=Fshape;
  g.Gradient :=false;
  R:=rect(0,0,16,16);
  PropInfo:=Getpropinfo(TjanShape.classinfo,'shape');
  ptd:=GetTypeData(PropInfo.proptype^);
  bm:=tbitmap.create;
  bm.height:=16;
  bm.width:=16;
  Images.Height :=16;
  Images.width:=16;
  images.AllocBy :=1;
  j:=0;
  startimgshape:=0;
// shapes
  for i:=ptd.MinValue to ptd.MaxValue do
  begin
    setordprop(g,propinfo,i);
//    g.Refresh;
    bm.canvas.brush.color:=FBackColor;
    bm.canvas.fillrect(R);
    FShape.PaintToCanvas(bm.canvas,0,0,1,1);
//    bm.Canvas.CopyRect (R,g.canvas,R);
    images.add(bm,nil);
    inc(j);
  end;
// gradients
  g.shape:=jstsquare;
  PropInfo:=Getpropinfo(TjanShape.classinfo,'FillDirection');
  ptd:=GetTypeData(PropInfo.proptype^);
  startimggradient:=j;
  g.Gradient :=true;
  for i:=ptd.MinValue to ptd.MaxValue do
  begin
    setordprop(g,propinfo,i);
//    g.Refresh;
//    bm.Canvas.CopyRect (R,g.canvas,R);
    bm.canvas.brush.color:=FBackcolor;
    bm.canvas.fillrect(R);
    Fshape.PainttoCanvas(bm.canvas,0,0,1,1);
    Images.add(bm,nil);
    inc(j);
  end;
// usershapes
  if assigned(FUserShapes) then
    if FUsershapes.count>0 then
    begin
      uc:=FUserShapes.count;
      g.shape:=jstuser;
      startimguser:=j;
      g.Gradient :=false;
      for i:=0 to uc-1 do
      begin
        g.UserVectorString :=FuserShapes[i];
        bm.canvas.brush.color:=FBackcolor;
        bm.canvas.fillrect(R);
        Fshape.PainttoCanvas(bm.canvas,0,0,1,1);
        Images.add(bm,nil);
        inc(j);
        end;
    end;
  bm.free;
end;

procedure TjanShapeController.initShapeStyleMenu;
var
 m,item:Tmenuitem;
 cap:string;
   PropInfo: PPropInfo;
   ptd: PtypeData;
   I,j:integer;
   PropValue:integer;
begin
 m:=Tmenuitem.Create (self);
 items.Add(m);
 m.caption:='Shape Style';
 PropInfo:=Getpropinfo(TjanShape.classinfo,'shape');
 ptd:=GetTypeData(PropInfo.proptype^);
 j:=0;
 for i:=ptd.MinValue to ptd.MaxValue do
 begin
   item:=tmenuitem.Create(self);
   item.caption:=getenumName(propinfo.proptype^,i);
   item.ImageIndex :=j;
   item.onclick:=shapestyleclick;
   FMenuCaptions.AddObject (item.caption,item);
   inc(j);
   m.add(item);
 end;
end;

procedure TjanShapeController.initUserShapeStyleMenu;
var
 m,item:Tmenuitem;
 cap:string;
 PropInfo: PPropInfo;
 ptd: PtypeData;
 I,j:integer;
 PropValue:integer;
 sc:integer;
begin
 if not assigned(FUserShapes) then exit;
 sc:=FUserShapes.count;
 if sc=0 then exit;
 m:=Tmenuitem.Create (self);
 items.Add(m);
 m.caption:='UserShape Style';
 j:=startimguser;
 for i:=0 to sc-1 do
 begin
   item:=tmenuitem.Create(self);
   item.caption:=FUserShapes.Names [i];
   item.ImageIndex :=j;
   item.onclick:=usershapestyleclick;
   FMenuCaptions.AddObject (item.caption,item);
   inc(j);
   m.add(item);
 end;
end;


procedure TjanShapeController.initGradientStyleMenu;
var
 m,item:Tmenuitem;
   PropInfo: PPropInfo;
   ptd: PtypeData;
   I,j,k:integer;
   PropValue:integer;
begin
 m:=Tmenuitem.Create (self);
 items.Add(m);
 m.caption:='GradientStyle';
 PropInfo:=Getpropinfo(TjanShape.classinfo,'FillDirection');
 ptd:=GetTypeData(PropInfo.proptype^);
 j:=0;
 k:=startimggradient;
 for i:=ptd.MinValue to ptd.MaxValue  do begin
 item:=tmenuitem.Create(m.owner);
 item.caption:=getenumName(propinfo.proptype^,i);
 item.ImageIndex :=k;
 FMenuCaptions.AddObject (item.caption,item);
 inc(k);
 item.onclick:=gradientstyleclick;
 inc(j);
 m.add(item);
 end;
end;

procedure TjanShapeController.ModifyshapeStyle(AShape:TjanShape;AShapeStyle:string);
begin
  setEnumprop(Ashape,'Shape',AshapeStyle);
end;

procedure TjanShapeController.ModifyGradientStyle(AShape:TjanShape;AGradientStyle:string);
begin
  setEnumprop(Ashape,'FillDirection',AGradientStyle);
  Ashape.gradient:=true;
end;


procedure TjanShapeController.SetBrushColor(const Value: Tcolor);
begin
  FBrushColor := Value;
  FShape.brush.Color :=value;
end;

procedure TjanShapeController.SetGradientColor(const Value: Tcolor);
begin
  FGradientColor := Value;
  FShape.GradientColor :=value;
end;

constructor TjanShapeController.Create(AOwner: Tcomponent);
begin
  inherited create(AOwner);
  FBrushColor:=clblue;
  FGradientColor:=clwhite;
  FBackColor:=clwhite;
  FMouseGrid:=false;
  FMouseGridSize:=10;
  FShape:=TjanShape.Create (self);
  Fshape.width:=16;
  FShape.height:=16;
  Fshape.GradientColor :=clwhite;
  Fshape.Brush.color:=clblue;
  FImageList:=TImageList.Create (self);
  FImageList.Width :=16;
  FImageList.Height :=16;
  FImageList.AllocBy:=1;
  FmenuCaptions:=TStringlist.create;
  FUserShapes:=TStringlist.create;
  FObjList:=Tlist.create;
  FSelObjList:=TList.create;
  Images:=FImageList;
  onpopup:=popping;

end;

procedure TjanShapeController.SetBackColor(const Value: TColor);
begin
  FBackColor := Value;
end;

destructor TjanShapeController.Destroy;
begin
  FShape.free;
  FImageList.free;
  FMenuCaptions.free;
  FuserShapes.free;
  FObjList.free;
  FSelObjList.free;
  inherited Destroy;
end;


procedure TjanShapeController.GradientStyleClick(sender: TObject);
var Ashape:Tjanshape;
    AGradientStyle:string;
begin
  Ashape:=Tjanshape(popupcomponent);
  AGradientStyle:=Tmenuitem(sender).caption;
  ModifyGradientStyle(Ashape,AGradientStyle);
end;

procedure TjanShapeController.ShapeStyleClick(sender: TObject);
var Ashape:Tjanshape;
    AshapeStyle:string;
begin
  Ashape:=Tjanshape(popupcomponent);
  AshapeStyle:=Tmenuitem(sender).caption;
  ModifyShapeStyle(Ashape,AshapeStyle);
end;

procedure TjanShapeController.UserShapeStyleClick(sender: TObject);
var Ashape:Tjanshape;
    AshapeStyle:string;
    index:integer;
begin
  Ashape:=Tjanshape(popupcomponent);
  AshapeStyle:=Tmenuitem(sender).caption;
  index:=FUserShapes.IndexOfName (AShapeStyle);
  if index=-1 then exit;
  Ashape.UserVectorString :=FUserShapes[index];
  Ashape.Shape:=jstUser;
end;


procedure TjanShapeController.BrushStyleClick(sender: TObject);
var Ashape:Tjanshape;
    AStyle:string;
begin
  Ashape:=Tjanshape(popupcomponent);
  AStyle:=Tmenuitem(sender).caption;
  setEnumprop(Ashape.brush,'Style',AStyle);
end;

procedure TjanShapeController.PenStyleClick(sender: TObject);
var Ashape:Tjanshape;
    AStyle:string;
begin

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91免费在线视频观看| 制服丝袜亚洲精品中文字幕| 欧美日韩国产一级| 精品av综合导航| 夜夜精品视频一区二区| 激情文学综合插| 欧美视频一区二区在线观看| 国产精品视频免费| 日本成人超碰在线观看| 成人h动漫精品| 久久看人人爽人人| 日产国产欧美视频一区精品| 色综合久久88色综合天天6| 欧美精品一区二区三区视频| 亚洲国产毛片aaaaa无费看 | 国产99久久久精品| 欧美日韩免费在线视频| 亚洲人亚洲人成电影网站色| 国产精品一区在线| 精品日韩99亚洲| 视频一区二区欧美| 欧美图片一区二区三区| 亚洲精品综合在线| va亚洲va日韩不卡在线观看| 国产日韩欧美精品电影三级在线| 美女久久久精品| 日韩欧美国产午夜精品| 日韩和欧美的一区| 91精品国产综合久久蜜臀| 亚洲在线观看免费| 日韩欧美国产电影| 天天影视色香欲综合网老头| 欧美视频在线不卡| 亚洲国产视频一区| 欧美日韩国产高清一区| 无码av免费一区二区三区试看| 欧美视频你懂的| 丝袜国产日韩另类美女| 91精品一区二区三区久久久久久| 日韩综合一区二区| 日韩一级大片在线| 精品亚洲国内自在自线福利| 久久嫩草精品久久久精品| 国产精品一区专区| 国产精品对白交换视频| 99久久99久久免费精品蜜臀| 亚洲人成精品久久久久久| 色偷偷成人一区二区三区91 | www国产成人| 国产成人自拍高清视频在线免费播放| 久久久久国产一区二区三区四区 | 在线一区二区三区四区五区| 亚洲综合网站在线观看| 日韩欧美中文字幕精品| 国产精品一级在线| 亚洲免费观看高清完整版在线观看 | 亚洲成人免费av| 日韩三级在线观看| 国产大陆亚洲精品国产| 亚洲裸体xxx| 7777精品伊人久久久大香线蕉完整版| 精品一区二区在线观看| 国产精品国产精品国产专区不蜜| 欧美这里有精品| 精品一区二区三区在线播放| 亚洲欧洲精品一区二区三区| 欧美日韩在线播放一区| 国产在线一区观看| 日本美女一区二区三区| 久久先锋影音av| 色婷婷狠狠综合| 美腿丝袜亚洲一区| 一区二区中文视频| 精品乱人伦一区二区三区| 波多野洁衣一区| 免费黄网站欧美| 亚洲精品国产精品乱码不99| 日韩欧美一二三区| 91黄色激情网站| 国产精品一二三在| 日韩精品欧美精品| 亚洲精品中文在线观看| 精品国产乱码久久久久久影片| 色八戒一区二区三区| 精品一区二区三区在线视频| 亚洲国产裸拍裸体视频在线观看乱了 | 久久久国产精品不卡| 欧美日韩你懂得| 99re视频这里只有精品| 久久狠狠亚洲综合| 午夜欧美视频在线观看| 日本一区二区高清| 欧美哺乳videos| 欧美网站一区二区| 99在线精品免费| 国产精品一品视频| 精品一区二区三区免费观看| 视频一区二区三区中文字幕| 一区二区三区欧美日| 国产精品无遮挡| 久久精品亚洲一区二区三区浴池 | 久久婷婷国产综合精品青草| 欧美日韩一二区| 欧美在线免费播放| 91在线云播放| 成人午夜电影久久影院| 久久99精品国产91久久来源| 琪琪久久久久日韩精品| 亚洲高清不卡在线| 亚洲国产中文字幕在线视频综合| 国产精品久久久久久久久免费相片 | 亚洲一区二区欧美| 国产精品久久久久永久免费观看 | 丰满岳乱妇一区二区三区| 久久99精品久久久久久动态图 | 国产成人午夜精品5599| 精品亚洲免费视频| 久久99国产精品尤物| 秋霞午夜av一区二区三区| 日韩精品一级二级| 亚洲gay无套男同| 亚洲国产精品视频| 天堂在线一区二区| 蜜臀av一区二区在线免费观看| 日韩精品一卡二卡三卡四卡无卡| 视频一区在线视频| 日本特黄久久久高潮| 久久爱www久久做| 极品少妇xxxx精品少妇偷拍| 国产精品888| 成人激情黄色小说| 在线观看一区二区视频| 欧美剧情片在线观看| 日韩一区二区三区电影在线观看| 制服丝袜激情欧洲亚洲| 日韩一卡二卡三卡四卡| 久久久精品国产免费观看同学| 国产欧美综合色| 亚洲精品视频在线观看免费 | 极品少妇xxxx精品少妇| 国产精品一品二品| 成人aa视频在线观看| 欧美日韩电影在线| 日韩女优视频免费观看| 国产日产精品1区| 亚洲男女一区二区三区| 日韩国产高清在线| 国产尤物一区二区| 成人久久久精品乱码一区二区三区| 91丨porny丨国产入口| 555夜色666亚洲国产免| 久久久久久久久久久黄色| 中文字幕综合网| 人人狠狠综合久久亚洲| 成人妖精视频yjsp地址| 在线一区二区三区做爰视频网站| 日韩亚洲欧美一区二区三区| 国产精品白丝在线| 免费在线观看一区二区三区| 99久久综合色| 日韩一级高清毛片| 一区二区中文视频| 欧美aaaaa成人免费观看视频| 国产xxx精品视频大全| 欧美日韩亚洲综合在线 | 国产福利精品一区| 91成人在线免费观看| 精品国内片67194| 亚洲最大的成人av| 国产激情偷乱视频一区二区三区| 在线免费观看日韩欧美| 日本一区免费视频| 日韩激情视频网站| 91视视频在线直接观看在线看网页在线看| 337p亚洲精品色噜噜噜| 一区二区高清视频在线观看| 国产精品自在在线| 欧美高清视频www夜色资源网| 中文字幕亚洲不卡| 国产主播一区二区三区| 91麻豆精品国产| 一区二区三区四区高清精品免费观看| 国模少妇一区二区三区| 欧美亚洲动漫精品| 国产精品久久久久久久久免费相片 | 国产精品77777竹菊影视小说| 欧美日韩一区二区三区四区五区 | 中文在线资源观看网站视频免费不卡| 五月婷婷综合激情| 欧美亚洲自拍偷拍| 亚洲精品伦理在线| 91麻豆精品在线观看| 日本一区二区高清| 国产精品18久久久| 亚洲免费高清视频在线| 国产美女一区二区| 欧美成人vps| 久久精品国产99国产精品| 欧美一区二区免费| 蜜桃精品在线观看|