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

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

?? pngimage.pas

?? Nadzor國(guó)外08年7月分先出遠(yuǎn)控代碼
?? PAS
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
    procedure AssignTo(Dest: TPersistent);{$IFDEF UseDelphi}override;{$ENDIF}
    {Assigns from a windows bitmap handle}
    procedure AssignHandle(Handle: HBitmap; Transparent: Boolean;
      TransparentColor: ColorRef);
    {Draws the image into a canvas}
    procedure Draw(ACanvas: TCanvas; const Rect: TRect);
      {$IFDEF UseDelphi}override;{$ENDIF}
    {Width and height properties}
    property Width: Integer read GetWidth;
    property Height: Integer read GetHeight;
    {Returns if the image is interlaced}
    property InterlaceMethod: TInterlaceMethod read fInterlaceMethod
      write fInterlaceMethod;
    {Filters to test to encode}
    property Filters: TFilters read fFilters write fFilters;
    {Maximum size for IDAT chunks, default and minimum is 65536}
    property MaxIdatSize: Cardinal read fMaxIdatSize write SetMaxIdatSize;
    {Property to return if the image is empty or not}
    property Empty: Boolean read GetEmpty;
    {Compression level}
    property CompressionLevel: TCompressionLevel read fCompressionLevel
      write fCompressionLevel;
    {Access to the chunk list}
    property Chunks: TPngList read fChunkList;
    {Object being created and destroyed}
    constructor Create; {$IFDEF UseDelphi}override;{$ENDIF}
    destructor Destroy; override;
    {$IFNDEF UseDelphi}procedure LoadFromFile(const Filename: String);{$ENDIF}
    {$IFNDEF UseDelphi}procedure SaveToFile(const Filename: String);{$ENDIF}
    procedure LoadFromStream(Stream: TStream); {$IFDEF UseDelphi}override;{$ENDIF}
    procedure SaveToStream(Stream: TStream); {$IFDEF UseDelphi}override;{$ENDIF}
    {Loading the image from resources}
    procedure LoadFromResourceName(Instance: HInst; const Name: String);
    procedure LoadFromResourceID(Instance: HInst; ResID: Integer);
  end;

  {Chunk name object}
  TChunkName = Array[0..3] of Char;

  {Global chunk object}
  TChunk = class
  private
    {Contains data}
    fData: Pointer;
    fDataSize: Cardinal;
    {Stores owner}
    fOwner: TPngObject;
    {Stores the chunk name}
    fName: TChunkName;
    {Returns pointer to the TChunkIHDR}
    function GetHeader: TChunkIHDR;
    {Used with property index}
    function GetIndex: Integer;
    {Should return chunk class/name}
    class function GetName: String; virtual;
    {Returns the chunk name}
    function GetChunkName: String;
  public
    {Returns index from list}
    property Index: Integer read GetIndex;
    {Returns pointer to the TChunkIHDR}
    property Header: TChunkIHDR read GetHeader;
    {Resize the data}
    procedure ResizeData(const NewSize: Cardinal);
    {Returns data and size}
    property Data: Pointer read fData;
    property DataSize: Cardinal read fDataSize;
    {Assigns from another TChunk}
    procedure Assign(Source: TChunk); virtual;
    {Returns owner}
    property Owner: TPngObject read fOwner;
    {Being destroyed/created}
    constructor Create(Owner: TPngObject); virtual;
    destructor Destroy; override;
    {Returns chunk class/name}
    property Name: String read GetChunkName;
    {Loads the chunk from a stream}
    function LoadFromStream(Stream: TStream; const ChunkName: TChunkName;
      Size: Integer): Boolean; virtual;
    {Saves the chunk to a stream}
    function SaveToStream(Stream: TStream): Boolean; virtual;
  end;

  {Chunk classes}
  TChunkIEND = class(TChunk);     {End chunk}

  {IHDR data}
  pIHDRData = ^TIHDRData;
  TIHDRData = packed record
    Width, Height: Cardinal;
    BitDepth,
    ColorType,
    CompressionMethod,
    FilterMethod,
    InterlaceMethod: Byte;
  end;

  {Information header chunk}
  TChunkIHDR = class(TChunk)
  private
    {Current image}
    ImageHandle: HBitmap;
    ImageDC: HDC;

    {Output windows bitmap}
    HasPalette: Boolean;
    BitmapInfo: TMaxBitmapInfo;
    BytesPerRow: Integer;
    {Stores the image bytes}
    ImageData: pointer;
    ImageAlpha: Pointer;

    {Contains all the ihdr data}
    IHDRData: TIHDRData;
    {Resizes the image data to fill the color type, bit depth, }
    {width and height parameters}
    procedure PrepareImageData;
    {Release allocated ImageData memory}
    procedure FreeImageData;
  public
    {Properties}
    property Width: Cardinal read IHDRData.Width write IHDRData.Width;
    property Height: Cardinal read IHDRData.Height write IHDRData.Height;
    property BitDepth: Byte read IHDRData.BitDepth write IHDRData.BitDepth;
    property ColorType: Byte read IHDRData.ColorType write IHDRData.ColorType;
    property CompressionMethod: Byte read IHDRData.CompressionMethod
      write IHDRData.CompressionMethod;
    property FilterMethod: Byte read IHDRData.FilterMethod
      write IHDRData.FilterMethod;
    property InterlaceMethod: Byte read IHDRData.InterlaceMethod
      write IHDRData.InterlaceMethod;
    {Loads the chunk from a stream}
    function LoadFromStream(Stream: TStream; const ChunkName: TChunkName;
      Size: Integer): Boolean; override;
    {Saves the chunk to a stream}
    function SaveToStream(Stream: TStream): Boolean; override;
    {Destructor/constructor}
    constructor Create(Owner: TPngObject); override;
    destructor Destroy; override;
    {Assigns from another TChunk}
    procedure Assign(Source: TChunk); override;
  end;

  {Gamma chunk}
  TChunkgAMA = class(TChunk)
  private
    {Returns/sets the value for the gamma chunk}
    function GetValue: Cardinal;
    procedure SetValue(const Value: Cardinal);
  public
    {Returns/sets gamma value}
    property Gamma: Cardinal read GetValue write SetValue;
    {Loading the chunk from a stream}
    function LoadFromStream(Stream: TStream; const ChunkName: TChunkName;
      Size: Integer): Boolean; override;
    {Being created}
    constructor Create(Owner: TPngObject); override;
    {Assigns from another TChunk}
    procedure Assign(Source: TChunk); override;
  end;

  {ZLIB Decompression extra information}
  TZStreamRec2 = packed record
    {From ZLIB}
    ZLIB: TZStreamRec;
    {Additional info}
    Data: Pointer;
    fStream   : TStream;
  end;

  {Palette chunk}
  TChunkPLTE = class(TChunk)
  private
    {Number of items in the palette}
    fCount: Integer;
    {Contains the palette handle}
    function GetPaletteItem(Index: Byte): TRGBQuad;
  public
    {Returns the color for each item in the palette}
    property Item[Index: Byte]: TRGBQuad read GetPaletteItem;
    {Returns the number of items in the palette}
    property Count: Integer read fCount;
    {Loads the chunk from a stream}
    function LoadFromStream(Stream: TStream; const ChunkName: TChunkName;
      Size: Integer): Boolean; override;
    {Saves the chunk to a stream}
    function SaveToStream(Stream: TStream): Boolean; override;
    {Assigns from another TChunk}
    procedure Assign(Source: TChunk); override;
  end;

  {Transparency information}
  TChunktRNS = class(TChunk)
  private
    fBitTransparency: Boolean;
    function GetTransparentColor: ColorRef;
    {Returns the transparent color}
    procedure SetTransparentColor(const Value: ColorRef);
  public
    {Palette values for transparency}
    PaletteValues: Array[Byte] of Byte;
    {Returns if it uses bit transparency}
    property BitTransparency: Boolean read fBitTransparency;
    {Returns the transparent color}
    property TransparentColor: ColorRef read GetTransparentColor write
      SetTransparentColor;
    {Loads/saves the chunk from/to a stream}
    function LoadFromStream(Stream: TStream; const ChunkName: TChunkName;
      Size: Integer): Boolean; override;
    function SaveToStream(Stream: TStream): Boolean; override;
    {Assigns from another TChunk}
    procedure Assign(Source: TChunk); override;
  end;

  {Actual image information}
  TChunkIDAT = class(TChunk)
  private
    {Holds another pointer to the TChunkIHDR}
    Header: TChunkIHDR;
    {Stores temporary image width and height}
    ImageWidth, ImageHeight: Integer;
    {Size in bytes of each line and offset}
    Row_Bytes, Offset : Cardinal;
    {Contains data for the lines}
    Encode_Buffer: Array[0..5] of pByteArray;
    Row_Buffer: Array[Boolean] of pByteArray;
    {Variable to invert the Row_Buffer used}
    RowUsed: Boolean;
    {Ending position for the current IDAT chunk}
    EndPos: Integer;
    {Filter the current line}
    procedure FilterRow;
    {Filter to encode and returns the best filter}
    function FilterToEncode: Byte;
    {Reads ZLIB compressed data}
    function IDATZlibRead(var ZLIBStream: TZStreamRec2; Buffer: Pointer;
      Count: Integer; var EndPos: Integer; var crcfile: Cardinal): Integer;
    {Compress and writes IDAT data}
    procedure IDATZlibWrite(var ZLIBStream: TZStreamRec2; Buffer: Pointer;
      const Length: Cardinal);
    procedure FinishIDATZlib(var ZLIBStream: TZStreamRec2);
    {Prepares the palette}
    procedure PreparePalette;
  protected
    {Decode interlaced image}
    procedure DecodeInterlacedAdam7(Stream: TStream;
      var ZLIBStream: TZStreamRec2; const Size: Integer; var crcfile: Cardinal);
    {Decode non interlaced imaged}
    procedure DecodeNonInterlaced(Stream: TStream;
      var ZLIBStream: TZStreamRec2; const Size: Integer;
      var crcfile: Cardinal);
  protected
    {Encode non interlaced images}
    procedure EncodeNonInterlaced(Stream: TStream;
      var ZLIBStream: TZStreamRec2);
    {Encode interlaced images}
    procedure EncodeInterlacedAdam7(Stream: TStream;
      var ZLIBStream: TZStreamRec2);
  protected
    {Memory copy methods to decode}
    procedure CopyNonInterlacedRGB8(Src, Dest, Trans: pChar);
    procedure CopyNonInterlacedRGB16(Src, Dest, Trans: pChar);
    procedure CopyNonInterlacedPalette148(Src, Dest, Trans: pChar);
    procedure CopyNonInterlacedPalette2(Src, Dest, Trans: pChar);
    procedure CopyNonInterlacedGray2(Src, Dest, Trans: pChar);
    procedure CopyNonInterlacedGrayscale16(Src, Dest, Trans: pChar);
    procedure CopyNonInterlacedRGBAlpha8(Src, Dest, Trans: pChar);
    procedure CopyNonInterlacedRGBAlpha16(Src, Dest, Trans: pChar);
    procedure CopyNonInterlacedGrayscaleAlpha8(Src, Dest, Trans: PChar);
    procedure CopyNonInterlacedGrayscaleAlpha16(Src, Dest, Trans: PChar);
    procedure CopyInterlacedRGB8(const Pass: Byte; Src, Dest, Trans: pChar);
    procedure CopyInterlacedRGB16(const Pass: Byte; Src, Dest, Trans: pChar);
    procedure CopyInterlacedPalette148(const Pass: Byte; Src,Dest,Trans: pChar);
    procedure CopyInterlacedPalette2(const Pass: Byte; Src, Dest, Trans: pChar);
    procedure CopyInterlacedGray2(const Pass: Byte; Src, Dest,  Trans: pChar);
    procedure CopyInterlacedGrayscale16(const Pass: Byte;Src,Dest,Trans: pChar);
    procedure CopyInterlacedRGBAlpha8(const Pass: Byte; Src,Dest,Trans: pChar);
    procedure CopyInterlacedRGBAlpha16(const Pass: Byte; Src,Dest,Trans: pChar);
    procedure CopyInterlacedGrayscaleAlpha8(const Pass: Byte;
      Src, Dest, Trans: pChar);
    procedure CopyInterlacedGrayscaleAlpha16(const Pass: Byte;
      Src, Dest, Trans: pChar);
  protected
    {Memory copy methods to encode}
    procedure EncodeNonInterlacedRGB8(Src, Dest, Trans: pChar);
    procedure EncodeNonInterlacedRGB16(Src, Dest, Trans: pChar);
    procedure EncodeNonInterlacedGrayscale16(Src, Dest, Trans: pChar);
    procedure EncodeNonInterlacedPalette148(Src, Dest, Trans: pChar);
    procedure EncodeNonInterlacedRGBAlpha8(Src, Dest, Trans: pChar);
    procedure EncodeNonInterlacedRGBAlpha16(Src, Dest, Trans: pChar);
    procedure EncodeNonInterlacedGrayscaleAlpha8(Src, Dest, Trans: pChar);
    procedure EncodeNonInterlacedGrayscaleAlpha16(Src, Dest, Trans: pChar);
    procedure EncodeInterlacedRGB8(const Pass: Byte; Src, Dest, Trans: pChar);
    procedure EncodeInterlacedRGB16(const Pass: Byte; Src, Dest, Trans: pChar);
    procedure EncodeInterlacedPalette148(const Pass:Byte; Src,Dest,Trans:pChar);
    procedure EncodeInterlacedGrayscale16(const Pass:Byte;Src,Dest,Trans:pChar);
    procedure EncodeInterlacedRGBAlpha8(const Pass: Byte;Src,Dest,Trans: pChar);
    procedure EncodeInterlacedRGBAlpha16(const Pass:Byte; Src,Dest,Trans:pChar);
    procedure EncodeInterlacedGrayscaleAlpha8(const Pass: Byte; Src, Dest,
      Trans: pChar);
    procedure EncodeInterlacedGrayscaleAlpha16(const Pass: Byte; Src, Dest,
      Trans: pChar);
  public
    {Loads the chunk from a stream}
    function LoadFromStream(Stream: TStream; const ChunkName: TChunkName;
      Size: Integer): Boolean; override;
    {Saves the chunk to a stream}
    function SaveToStream(Stream: TStream): Boolean; override;
  end;

  {Image last modification chunk}
  TChunktIME = class(TChunk)
  private
    {Holds the variables}
    fYear: Word;
    fMonth, fDay, fHour, fMinute, fSecond: Byte;
  public
    {Returns/sets variables}
    property Year: Word read fYear write fYear;
    property Month: Byte read fMonth write fMonth;
    property Day: Byte read fDay write fDay;
    property Hour: Byte read fHour write fHour;
    property Minute: Byte read fMinute write fMinute;
    property Second: Byte read fSecond write fSecond;
    {Loads the chunk from a stream}
    function LoadFromStream(Stream: TStream; const ChunkName: TChunkName;
      Size: Integer): Boolean; override;
    {Saves the chunk to a stream}
    function SaveToStream(Stream: TStream): Boolean; override;
  end;

  {Textual data}
  TChunktEXt = class(TChunk)
  private
    fKeyword, fText: String;
  public
    {Keyword and text}
    property Keyword: String read fKeyword write fKeyword;
    property Text: String read fText write fText;
    {Loads the chunk from a stream}
    function LoadFromStream(Stream: TStream; const ChunkName: TChunkName;
      Size: Integer): Boolean; override;
    {Saves the chunk to a stream}
    function SaveToStream(Stream: TStream): Boolean; override;
    {Assigns from another TChunk}
    procedure Assign(Source: TChunk); override;
  end;

{Here we test if it's c++ builder or delphi version 3 or less}
{$IFDEF VER110}{$DEFINE DelphiBuilder3Less}{$ENDIF}
{$IFDEF VER100}{$DEFINE DelphiBuilder3Less}{$ENDIF}
{$IFDEF VER93}{$DEFINE DelphiBuilder3Less}{$ENDIF}
{$IFDEF VER90}{$DEFINE DelphiBuilder3Less}{$ENDIF}
{$IFDEF VER80}{$DEFINE DelphiBuilder3Less}{$ENDIF}


{Registers a new chunk class}
procedure RegisterChunk(ChunkClass: TChunkClass);
{Calculates crc}
function update_crc(crc: {$IFNDEF DelphiBuilder3Less}Cardinal{$ELSE}Integer
  {$ENDIF}; buf: pByteArray; len: Integer): Cardinal;
{Invert bytes using assembly}
function ByteSwap(const a: integer): integer;

implementation

var
  ChunkClasses: TPngPointerList;
  {Table of CRCs of all 8-bit messages}
  crc_table: Array[0..255] of Cardinal;
  {Flag: has the table been computed? Initially false}
  crc_table_computed: Boolean;

{Draw transparent image using transparent color}
procedure DrawTransparentBitmap(dc: HDC; srcBits: Pointer;
  var srcHeader: TBitmapInfoHeader;
  srcBitmapInfo: pBitmapInfo; Rect: TRect; cTransparentColor: COLORREF);
var
  cColor:   COLORREF;
  bmAndBack, bmAndObject, bmAndMem: HBITMAP;
  bmBackOld, bmObjectOld, bmMemOld: HBITMAP;
  hdcMem, hdcBack, hdcObject, hdcTemp: HDC;
  ptSize, orgSize: TPOINT;
  OldBitmap, DrawBitmap: HBITMAP;
begin
  hdcTemp := CreateCompatibleDC(dc);
  // Select the bitmap
  DrawBitmap := CreateDIBitmap(dc, srcHeader, CBM_INIT, srcBits, srcBitmapInfo^,
    DIB_RGB_COLORS);
  OldBitmap := SelectObject(hdcTemp, DrawBitmap);

  // Sizes
  OrgSize.x := abs(srcHeader.biWidth);
  OrgSize.y := abs(srcHeader.biHeight);
  ptSize.x := Rect.Right - Rect.Left;        // Get width of bitmap
  ptSize.y := Rect.Bottom - Rect.Top;        // Get height of bitmap

  // Create some DCs to hold temporary data.
  hdcBack  := CreateCompatibleDC(dc);
  hdcObject := CreateCompatibleDC(dc);
  hdcMem   := CreateCompatibleDC(dc);

  // Create a bitmap for each DC. DCs are required for a number of
  // GDI functions.

  // Monochrome DCs
  bmAndBack  := CreateBitmap(ptSize.x, ptSize.y, 1, 1, nil);
  bmAndObject := CreateBitmap(ptSize.x, ptSize.y, 1, 1, nil);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久久久久久久免费相片 | 色悠久久久久综合欧美99| 激情综合网av| 久久99这里只有精品| 久久精品国产久精国产爱| 丝袜亚洲精品中文字幕一区| 婷婷夜色潮精品综合在线| 日韩电影免费一区| 久久精品国产99| 国产在线精品视频| 丁香亚洲综合激情啪啪综合| 成人精品一区二区三区中文字幕| 国产69精品一区二区亚洲孕妇| 成人高清免费观看| 色哟哟在线观看一区二区三区| 91麻豆123| 欧美色精品在线视频| 在线电影国产精品| 久久女同互慰一区二区三区| 国产精品美女一区二区在线观看| 综合色天天鬼久久鬼色| 亚洲激情中文1区| 日韩黄色小视频| 国产乱人伦偷精品视频不卡| 9i在线看片成人免费| 在线观看一区二区视频| 日韩视频在线一区二区| 亚洲国产成人私人影院tom| 亚洲精品日韩综合观看成人91| 亚洲午夜久久久久久久久电影院| 蜜臀国产一区二区三区在线播放| 国产一区二区在线观看视频| 成人h精品动漫一区二区三区| 在线观看欧美日本| 精品国一区二区三区| 国产精品日韩成人| 亚洲高清在线精品| 国产一区二区三区不卡在线观看 | 欧美色手机在线观看| 日韩一区二区三区视频| 国产精品素人一区二区| 亚洲一区二区视频在线观看| 日本亚洲一区二区| 99精品视频在线观看免费| 欧美吻胸吃奶大尺度电影| 精品日产卡一卡二卡麻豆| 亚洲免费高清视频在线| 久久精品国产99| 色综合av在线| 精品99久久久久久| 樱花影视一区二区| 国产在线精品不卡| 欧美日韩大陆一区二区| 国产欧美精品一区二区三区四区 | 麻豆成人免费电影| 91在线观看免费视频| 久久一夜天堂av一区二区三区| 亚洲欧美成人一区二区三区| 久久成人久久鬼色| 欧美性videosxxxxx| 欧美国产一区在线| 久久91精品国产91久久小草| 91九色02白丝porn| 国产日本一区二区| 青草国产精品久久久久久| 色狠狠色狠狠综合| 亚洲国产精品国自产拍av| 日韩不卡在线观看日韩不卡视频| www.欧美亚洲| 久久久久国色av免费看影院| 日韩电影在线观看电影| 欧美在线不卡一区| 一色桃子久久精品亚洲| 国产一区福利在线| 欧美一区在线视频| 亚洲一区二区欧美激情| 91在线免费播放| 国产精品欧美极品| 国产盗摄精品一区二区三区在线| 日韩精品自拍偷拍| 日韩av电影免费观看高清完整版 | 欧美欧美欧美欧美首页| 1024成人网| 成人av电影在线观看| 久久无码av三级| 蜜桃久久久久久久| 91精品欧美一区二区三区综合在| 亚洲一区二区偷拍精品| 欧美优质美女网站| 亚洲黄色录像片| 91免费看片在线观看| 最新成人av在线| 99精品视频一区二区三区| 国产精品福利电影一区二区三区四区| 国产精品综合网| 久久久久久亚洲综合| 国产呦精品一区二区三区网站| 日韩一级黄色大片| 久久激情五月激情| 欧美sm极限捆绑bd| 精品一区二区在线免费观看| 欧美α欧美αv大片| 国产一区二区三区香蕉| 久久久av毛片精品| 国产69精品久久777的优势| 国产欧美一区二区精品性色超碰| 国产成人午夜片在线观看高清观看| www精品美女久久久tv| 国产盗摄一区二区三区| 中文字幕乱码亚洲精品一区| 波多野结衣欧美| 一区二区三区欧美日| 欧美日韩一区高清| 免费不卡在线观看| 久久久天堂av| a级精品国产片在线观看| 亚洲精品第一国产综合野| 欧美伊人精品成人久久综合97| 亚洲国产日韩综合久久精品| 91精品国产欧美一区二区18 | 99精品热视频| 亚洲精品老司机| 91麻豆精品国产| 国产美女视频91| 亚洲欧美国产毛片在线| 欧美日韩一区二区在线观看 | 欧美精品久久一区二区三区| 免费看日韩a级影片| 久久九九全国免费| 91在线视频官网| 日韩和欧美一区二区三区| 精品国产123| 成人精品视频一区二区三区| 亚洲曰韩产成在线| 欧美大片在线观看| av在线一区二区| 亚洲成a天堂v人片| 精品国产伦一区二区三区观看体验 | 久久女同精品一区二区| 99国产麻豆精品| 免费一级片91| 中文字幕在线不卡视频| 制服丝袜日韩国产| 国产精品 欧美精品| 中文字幕综合网| 日韩三级免费观看| 成人av网站在线| 蜜桃传媒麻豆第一区在线观看| 日本一区二区三区国色天香| 在线视频你懂得一区| 国产真实乱对白精彩久久| 一区二区三区日韩欧美| 久久综合九色综合欧美98| 一本色道亚洲精品aⅴ| 蜜臀久久99精品久久久久久9| 国产精品理论在线观看| 日韩无一区二区| 在线观看av一区二区| 久久精品99国产精品日本| 一区二区三区欧美在线观看| 2023国产精华国产精品| 欧美午夜影院一区| 粉嫩在线一区二区三区视频| 日本欧美在线观看| 亚洲女人****多毛耸耸8| 久久婷婷成人综合色| 欧美乱妇15p| 91在线精品一区二区| 老司机免费视频一区二区三区| 亚洲精选一二三| 国产婷婷一区二区| 日韩欧美国产三级| 欧美日韩高清在线播放| 色综合天天性综合| 国产91在线|亚洲| 老司机精品视频一区二区三区| 亚洲图片欧美一区| 亚洲激情在线播放| 亚洲国产精华液网站w| 日韩欧美在线不卡| 欧美在线你懂的| 99精品久久只有精品| 国产精品一区二区男女羞羞无遮挡| 日韩精品一区第一页| 亚洲一区在线观看视频| 亚洲欧美国产77777| 国产精品九色蝌蚪自拍| 国产欧美一区二区精品性| 337p日本欧洲亚洲大胆色噜噜| 欧美电影一区二区三区| 欧美日韩国产免费| 色婷婷久久久亚洲一区二区三区| 成人av综合一区| 国产成人综合亚洲网站| 韩国毛片一区二区三区| 精品在线你懂的| 国产自产v一区二区三区c| 麻豆专区一区二区三区四区五区| 日本视频中文字幕一区二区三区| 日韩精品免费视频人成|