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

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

?? lcdlin32.c

?? UC_GUI開發源代碼,里面含有范例,源文件
?? C
?? 第 1 頁 / 共 5 頁
字號:
/*
*********************************************************************************************************
*                                             uC/GUI V3.98
*                        Universal graphic software for embedded applications
*
*                       (c) Copyright 2002, Micrium Inc., Weston, FL
*                       (c) Copyright 2002, SEGGER Microcontroller Systeme GmbH
*
*              礐/GUI is protected by international copyright laws. Knowledge of the
*              source code may not be used to write a similar product. This file may
*              only be used in accordance with a license and should not be redistributed
*              in any way. We appreciate your understanding and fairness.
*
----------------------------------------------------------------------
File        : LCDLin32.C
Purpose     : Driver for accessing linear video memory with 32bit operations
---------------------------END-OF-HEADER------------------------------
*/

#include <stddef.h>
#include "LCD_Private.h"      /* private modul definitions & config */
#include "GUI_Private.h"
#include "GUIDebug.h"

#if (LCD_CONTROLLER == 3200) \
    && (!defined(WIN32) | defined(LCD_SIMCONTROLLER))

/*********************************************************************
*
*       Defines
*
**********************************************************************
*/

#ifndef LCD_ENDIAN_BIG
  #error Please define the endian mode of the video RAM!
#endif

#ifndef   LCD_INIT_CONTROLLER
  #define LCD_INIT_CONTROLLER()
#endif

#ifndef   LCD_SET_LUT_ENTRY
  #define LCD_SET_LUT_ENTRY(Pos, Color) GUI_USE_PARA(Pos); GUI_USE_PARA(Color)
#endif

#ifndef   LCD_SET_ORG
  #define LCD_SET_ORG(x, y) GUI_USE_PARA(x); GUI_USE_PARA(y)
#endif

#ifndef   LCD_LIN_SWAP
  #define LCD_LIN_SWAP 0
#endif

/* Error for unsupported modes */
#if (LCD_BITSPERPIXEL != 1) && \
    (LCD_BITSPERPIXEL != 2) && \
    (LCD_BITSPERPIXEL != 4) && \
    (LCD_BITSPERPIXEL != 8) && \
    (LCD_BITSPERPIXEL != 16)
#error This mode is currently not supported! Please contact support!
#endif

/* Mappings for multi layer configurations */
#if   LCD_DISPLAY_INDEX == 1
  #define SIM_WriteMem32 SIM_WriteMem32_1
  #define SIM_ReadMem32  SIM_ReadMem32_1
#elif LCD_DISPLAY_INDEX == 2
  #define SIM_WriteMem32 SIM_WriteMem32_2
  #define SIM_ReadMem32  SIM_ReadMem32_2
#elif LCD_DISPLAY_INDEX == 3
  #define SIM_WriteMem32 SIM_WriteMem32_3
  #define SIM_ReadMem32  SIM_ReadMem32_3
#elif LCD_DISPLAY_INDEX == 4
  #define SIM_WriteMem32 SIM_WriteMem32_4
  #define SIM_ReadMem32  SIM_ReadMem32_4
#endif

#ifdef WIN32
  U32  SIM_ReadMem32 (unsigned int Off);
  void SIM_WriteMem32(unsigned int Off, U32 Data);
  #undef  LCD_SET_ORG
  #ifdef   LCD_READ_MEM
    #undef LCD_READ_MEM
  #endif
  #ifdef   LCD_WRITE_MEM
    #undef LCD_WRITE_MEM
  #endif
  #define LCD_READ_MEM(Off)        SIM_ReadMem32(Off)
  #define LCD_WRITE_MEM(Off, Data) SIM_WriteMem32(Off, Data)
  #define LCD_SET_ORG(x, y)    GUI_USE_PARA(x); GUI_USE_PARA(y)
#else
  #ifndef   LCD_READ_MEM
    #define LCD_READ_MEM(Off)        (*((U32 *)LCD_VRAM_ADR + (U32)Off))
  #endif
  #ifndef   LCD_WRITE_MEM
    #define LCD_WRITE_MEM(Off, Data) *((U32 *)LCD_VRAM_ADR + (U32)Off) = Data
  #endif
#endif

#if LCD_LIN_SWAP
  #define WRITE_MEM(Off, Data) LCD_WRITE_MEM(Off, _Swap(Data))
  #define READ_MEM(Off)        _Swap(LCD_READ_MEM(Off))
#else
  #define WRITE_MEM(Off, Data) LCD_WRITE_MEM(Off, Data)
  #define READ_MEM(Off)        LCD_READ_MEM(Off)
#endif

#define PIXELS_PER_DWORD (32 / LCD_BITSPERPIXEL)
#define DWORDS_PER_LINE (LCD_VXSIZE_PHYS / PIXELS_PER_DWORD)

#if   (LCD_BITSPERPIXEL == 16)
  #define XY2OFF(x,y)    ((unsigned)y * DWORDS_PER_LINE + ((unsigned)x >> 1))
#elif (LCD_BITSPERPIXEL ==  8)
  #define XY2OFF(x,y)    ((unsigned)y * DWORDS_PER_LINE + ((unsigned)x >> 2))
#elif (LCD_BITSPERPIXEL ==  4)
  #define XY2OFF(x,y)    ((unsigned)y * DWORDS_PER_LINE + ((unsigned)x >> 3))
#elif (LCD_BITSPERPIXEL ==  2)
  #define XY2OFF(x,y)    ((unsigned)y * DWORDS_PER_LINE + ((unsigned)x >> 4))
#elif (LCD_BITSPERPIXEL ==  1)
  #define XY2OFF(x,y)    ((unsigned)y * DWORDS_PER_LINE + ((unsigned)x >> 5))
#endif

/*********************************************************************
*
*       Macros for MIRROR_, SWAP_ and LUT_
*/
#if (!defined (LCD_LUT_COM) && !defined(LCD_LUT_SEG))
  #if   (!LCD_MIRROR_X && !LCD_MIRROR_Y && !LCD_SWAP_XY) 
    #define LOG2PHYS_X(x, y) x
    #define LOG2PHYS_Y(x, y) y
  #elif (!LCD_MIRROR_X && !LCD_MIRROR_Y &&  LCD_SWAP_XY) 
    #define LOG2PHYS_X(x, y) y
    #define LOG2PHYS_Y(x, y) x
  #elif (!LCD_MIRROR_X &&  LCD_MIRROR_Y && !LCD_SWAP_XY) 
    #define LOG2PHYS_X(x, y) x
    #define LOG2PHYS_Y(x, y) LCD_YSIZE - 1 - (y)
  #elif (!LCD_MIRROR_X &&  LCD_MIRROR_Y &&  LCD_SWAP_XY) 
    #define LOG2PHYS_X(x, y) y
    #define LOG2PHYS_Y(x, y) LCD_XSIZE - 1 - (x)
  #elif ( LCD_MIRROR_X && !LCD_MIRROR_Y && !LCD_SWAP_XY) 
    #define LOG2PHYS_X(x, y) LCD_XSIZE - 1 - (x)
    #define LOG2PHYS_Y(x, y) y
  #elif ( LCD_MIRROR_X && !LCD_MIRROR_Y &&  LCD_SWAP_XY) 
    #define LOG2PHYS_X(x, y) LCD_YSIZE - 1 - (y)
    #define LOG2PHYS_Y(x, y) x
  #elif ( LCD_MIRROR_X &&  LCD_MIRROR_Y && !LCD_SWAP_XY) 
    #define LOG2PHYS_X(x, y) LCD_XSIZE - 1 - (x)
    #define LOG2PHYS_Y(x, y) LCD_YSIZE - 1 - (y)
  #elif ( LCD_MIRROR_X &&  LCD_MIRROR_Y &&  LCD_SWAP_XY) 
    #define LOG2PHYS_X(x, y) LCD_YSIZE - 1 - (y)
    #define LOG2PHYS_Y(x, y) LCD_XSIZE - 1 - (x)
  #endif
#else
  #if   ( defined (LCD_LUT_COM) && !defined(LCD_LUT_SEG))
    #define LOG2PHYS_X(x, y) x
    #define LOG2PHYS_Y(x, y) LCD__aLine2Com0[y]
  #elif (!defined (LCD_LUT_COM) &&  defined(LCD_LUT_SEG))
    #define LOG2PHYS_X(x, y) LCD__aCol2Seg0[x]
    #define LOG2PHYS_Y(x, y) y
  #elif ( defined (LCD_LUT_COM) &&  defined(LCD_LUT_SEG))
    #define LOG2PHYS_X(x, y) LCD__aCol2Seg0[x]
    #define LOG2PHYS_Y(x, y) LCD__aLine2Com0[y]
  #endif
#endif

/*********************************************************************
*
*       Static functions
*
**********************************************************************
*/
#if LCD_LIN_SWAP
static U32 _Swap(U32 Data) {
  #if   LCD_LIN_SWAP == 1
    Data = ((Data & 0x01010101) << 7) | ((Data & 0x02020202) << 5) | ((Data & 0x04040404) << 3) | ((Data & 0x08080808) << 1) | ((Data & 0x10101010) >> 1) | ((Data & 0x20202020) >> 3) | ((Data & 0x40404040) >> 5) | ((Data & 0x80808080) >> 7);
  #elif LCD_LIN_SWAP == 2
    Data = ((Data & 0x03030303) << 6) | ((Data & 0x0C0C0C0C) << 2) | ((Data & 0x30303030) >> 2) | ((Data & 0xC0C0C0C0) >> 6);
  #elif LCD_LIN_SWAP == 4
    Data = ((Data & 0xF0F0F0F0) >> 4) | ((Data & 0x0F0F0F0F) << 4);
  #else
    #error Unsupported swapping mode!
  #endif
  return Data;
}
#endif

/*********************************************************************
*
*       Draw Bitmap 1 BPP, optimized for LCD_ENDIAN_BIG == 0, LCD_BITSPERPIXEL == 16
*/
#if (LCD_ENDIAN_BIG == 0)    && \
    (LCD_BITSPERPIXEL == 16) && \
    (!LCD_MIRROR_X) && \
    (!LCD_MIRROR_Y) && \
    (!LCD_SWAP_XY)
static void _DrawBitLine1BPP(unsigned x, unsigned y, U8 const GUI_UNI_PTR * p, int Diff, int xsize, const LCD_PIXELINDEX * pTrans) {
  LCD_PIXELINDEX Index0 = *(pTrans + 0);
  LCD_PIXELINDEX Index1 = *(pTrans + 1);
  x += Diff;
  switch (GUI_Context.DrawMode & (LCD_DRAWMODE_TRANS | LCD_DRAWMODE_XOR)) {
  case 0:
    {
      U32 Data, Color;
      unsigned Pixels, PixelCnt, Off;
      PixelCnt = 8 - Diff;
      Pixels   = LCD_aMirror[*p] >> Diff;
      Off      = y * DWORDS_PER_LINE + (x >> 1);
      /* First DWORD */
      if (x & 1) {
        Data = READ_MEM(Off) & 0xFFFF;
        Data |= ((Pixels & 1) ? Index1 : Index0) << 16;
        WRITE_MEM(Off, Data);
        Off++;
        xsize--;
        PixelCnt--;
        Pixels >>= 1;
      }
      /* Complete DWORDS */
      if (xsize >= 2) {
        do {
          /* Make sure we have enough pixels loaded */
          if (PixelCnt < 2) {
            Pixels |= LCD_aMirror[*(++p)] << PixelCnt;
            PixelCnt += 8;
          }
          Color     =  Pixels & 1 ? Index1 : Index0;
          Color    |= (Pixels & 2 ? Index1 : Index0) << 16;
          Pixels  >>= 2;
          PixelCnt -= 2;
          WRITE_MEM(Off, Color);
          Off++;
        } while ((xsize -= 2) >= 2);
      }
      /* Last DWORD */
      if (xsize) {
        /* Make sure we have enough pixels loaded */
        if (PixelCnt == 0) {
          Pixels = LCD_aMirror[*(++p)];
        }
        Data = READ_MEM(Off) & 0xFFFF0000;
        Data |= (Pixels & 1) ? Index1 : Index0;
        WRITE_MEM(Off, Data);
      }
    }
    break;
  case LCD_DRAWMODE_TRANS:
    {
      U32 Data;
      unsigned PixelPos;
      unsigned Pixels, PixelCnt, Off;
      PixelCnt = 8 - Diff;
      Pixels   = LCD_aMirror[*p] >> Diff;
      do {
        /* Prepare loop */
        if ((int)PixelCnt > xsize) {
          PixelCnt = xsize;
        }
        xsize -= PixelCnt;
        while (Pixels && PixelCnt) {
          if ((PixelCnt >= 2) && !(x & 1)) {
            PixelPos = (Pixels & 3);
            if (PixelPos) {
              Off = y * DWORDS_PER_LINE + (x >> 1);
              if (PixelPos == 3) {
                WRITE_MEM(Off, Index1 * 0x00010001);
              } else {
                Data = READ_MEM(Off);
                if (PixelPos == 1) {
                  Data &= 0xFFFF0000;
                  Data |= Index1;
                } else {
                  Data &= 0xFFFF;
                  Data |= Index1 << 16;
                }
                WRITE_MEM(Off, Data);
              }
            }
            x += 2;
            Pixels  >>= 2;
            PixelCnt -= 2;
          } else {
            if ((Pixels & 1)) {
              Off = y * DWORDS_PER_LINE + (x >> 1);;
              Data = READ_MEM(Off);
              if (x & (PIXELS_PER_DWORD - 1)) {
                Data &= 0xFFFF;
                Data |= Index1 << 16;
              } else {
                Data &= 0xFFFF0000;
                Data |= Index1;
              }
              WRITE_MEM(Off, Data);
            }
            x++;
            Pixels >>= 1;
            PixelCnt--;
          }
        }
        /* Check if an other Source byte needs to be loaded */
        if (xsize == 0) {
          return;
        }
        x += PixelCnt;
        PixelCnt = 8;
        Pixels = LCD_aMirror[*(++p)];
      } while (1);
    }
  case LCD_DRAWMODE_XOR | LCD_DRAWMODE_TRANS:
  case LCD_DRAWMODE_XOR:
    do {
      if (*p & (0x80 >> Diff)) {
        int Pixel = LCD_L0_GetPixelIndex(x, y);
        LCD_L0_SetPixelIndex(x, y, LCD_NUM_COLORS - 1 - Pixel);
      }
      x++;
      if (++Diff == 8) {
        Diff = 0;
        p++;
      }
    } while (--xsize);
    break;
  }
}

/*********************************************************************
*
*       Draw Bitmap 1 BPP, optimized for LCD_ENDIAN_BIG == 0, LCD_BITSPERPIXEL == 8
*/
#elif (LCD_ENDIAN_BIG == 0) && \
    (LCD_BITSPERPIXEL == 8) && \
    (!LCD_MIRROR_X) && \
    (!LCD_MIRROR_Y) && \
    (!LCD_SWAP_XY)
static void _DrawBitLine1BPP(unsigned x, unsigned y, U8 const GUI_UNI_PTR * p, int Diff, int xsize, const LCD_PIXELINDEX * pTrans) {
  U8 Mode;
  LCD_PIXELINDEX Index0 = *(pTrans + 0);
  LCD_PIXELINDEX Index1 = *(pTrans + 1);
  x += Diff;
  Mode = GUI_Context.DrawMode & (LCD_DRAWMODE_TRANS | LCD_DRAWMODE_XOR);
  if (Mode == 0) {
    /* Check if filling will do ... */
    if (Index0 == Index1) {
      LCD_PIXELINDEX ColorIndexOld = LCD_COLORINDEX;  /* Save forground color */
      LCD_COLORINDEX = Index0;                        /* Set foreground color */
      LCD_L0_DrawHLine(x, y, x + xsize - 1);
      LCD_COLORINDEX = ColorIndexOld;
    } else { 
      /* O.K., we have to draw ... */
      int Off, NumPixel_0, NumPixel_1, i;
      U32 Data, ColorMask, AndMask;
      Off = y * DWORDS_PER_LINE + x / PIXELS_PER_DWORD;
      NumPixel_0 = x & (PIXELS_PER_DWORD - 1);
      NumPixel_1 = (x + xsize - 1) & (PIXELS_PER_DWORD - 1);
      /* First DWORD */
      if (NumPixel_0) {
        ColorMask = 0;
        AndMask = ~(0xFFFFFFFF << (8 * NumPixel_0));
        if ((xsize < 3) && (NumPixel_1)) {
          AndMask |= ~(0xFFFFFFFF >> (8 * (3 - NumPixel_1)));
        }
        for (i = NumPixel_0; (i < 4) && xsize; i++, xsize--) {
          U8 Index = *p & (0x80 >> Diff) ? Index1 : Index0;
          if (++Diff == 8) {
            Diff = 0;
            p++;
          }
          ColorMask |= Index << (8 * i);
        }
        Data = READ_MEM(Off);
        Data &= AndMask;
        Data |= ColorMask;
        WRITE_MEM(Off, Data);
        Off++;
      }
      /* Complete DWORDS */
      while (xsize >= 4) {
        ColorMask = 0;
        for (i = 0; i < 4; i++) {
          U8 Index = *p & (0x80 >> Diff) ? Index1 : Index0;
          if (++Diff == 8) {
            Diff = 0;
            p++;
          }
          ColorMask |= Index << (8 * i);
        }
        WRITE_MEM(Off, ColorMask);
        Off++;
        xsize -= 4;
      }
      /* Last DWORD */
      if (xsize) {
        ColorMask = i = 0;
        AndMask = 0xFFFFFF00 << (8 * NumPixel_1);
        while (xsize) {
          U8 Index = *p & (0x80 >> Diff) ? Index1 : Index0;
          if (++Diff == 8) {
            Diff = 0;
            p++;
          }
          ColorMask |= Index << (8 * i++);
          xsize--;
        }
        Data = READ_MEM(Off);
        Data &= AndMask;
        Data |= ColorMask;
        WRITE_MEM(Off, Data);
      }
    }
  } else {
    switch (Mode) {
    case LCD_DRAWMODE_TRANS:
      do {
        if (*p & (0x80 >> Diff)) {
          LCD_L0_SetPixelIndex(x, y, Index1);
        }
        x++;
        if (++Diff == 8) {
          Diff = 0;
          p++;
        }
      } while (--xsize);
      break;
    case LCD_DRAWMODE_XOR | LCD_DRAWMODE_TRANS:
    case LCD_DRAWMODE_XOR:
      do {
        if (*p & (0x80 >> Diff)) {
          int Pixel = LCD_L0_GetPixelIndex(x, y);
          LCD_L0_SetPixelIndex(x, y, LCD_NUM_COLORS - 1 - Pixel);
        }
        x++;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品亚洲二区| 国产精品国产三级国产| 亚洲国产另类av| 欧美高清视频不卡网| 国产91在线|亚洲| 成人深夜在线观看| 欧美撒尿777hd撒尿| 亚洲高清免费观看| 国产精品美女久久久久久久网站| av网站一区二区三区| 亚洲自拍偷拍av| 日韩三级.com| 成人深夜视频在线观看| 久久99日本精品| 国产精品超碰97尤物18| 日韩欧美一级特黄在线播放| 国产精品99久久久久久有的能看| 专区另类欧美日韩| 欧美精品一级二级| 欧美亚洲综合色| 久久av资源站| 日韩电影在线免费看| 国产区在线观看成人精品 | 捆绑紧缚一区二区三区视频| 成人欧美一区二区三区小说| 欧美日韩一区二区三区不卡| 91色视频在线| 久久疯狂做爰流白浆xx| 视频在线观看一区| 国产精品乱人伦| 久久久国际精品| 在线观看亚洲精品| 国产揄拍国内精品对白| 亚洲视频 欧洲视频| 国产精品久久久久久亚洲毛片 | 国产精品美女久久久久久久久久久| 国产精品资源在线| 国产精品久久久久久亚洲伦| 欧美国产日韩亚洲一区| 欧美无砖砖区免费| 欧美日韩一区高清| 欧美狂野另类xxxxoooo| 911精品产国品一二三产区| 国产精品一区三区| 国产精品亚洲成人| 懂色av一区二区夜夜嗨| 成人免费黄色在线| 99视频一区二区| 99精品国产视频| 国产精品一区二区三区99| 国产精品资源在线看| 成人激情视频网站| 国产一本一道久久香蕉| 国产精一区二区三区| eeuss影院一区二区三区| 91视视频在线观看入口直接观看www | 亚洲欧美另类久久久精品2019| 日韩免费高清av| 久久综合久久综合久久综合| 欧美色图天堂网| 欧美日本在线观看| 欧美在线影院一区二区| 欧美日韩亚洲综合| 欧美一区二区私人影院日本| 欧美私人免费视频| 欧美一区二区三区免费视频| 久久综合久久综合久久综合| 国产精品美日韩| 亚洲一区二区欧美| 精久久久久久久久久久| 另类欧美日韩国产在线| 国产丶欧美丶日本不卡视频| 国内精品伊人久久久久av影院| 日韩专区在线视频| 国产一区二区女| 色婷婷精品久久二区二区蜜臂av| av在线不卡免费看| 精品视频在线视频| 久久理论电影网| 亚洲精品中文字幕乱码三区| 亚洲人成网站精品片在线观看| 午夜精品免费在线| 奇米色777欧美一区二区| 日本女人一区二区三区| 国产成人精品影院| 欧美美女网站色| 国产精品色在线观看| 五月天丁香久久| 处破女av一区二区| 91精品国产综合久久久久久久 | 亚洲欧洲av另类| 日韩成人午夜精品| 北岛玲一区二区三区四区| 欧美一卡2卡3卡4卡| 国产精品色噜噜| 热久久国产精品| 色美美综合视频| 欧美性色综合网| 国产性色一区二区| 自拍视频在线观看一区二区| 极品美女销魂一区二区三区免费 | 欧美放荡的少妇| 国产精品久久久久久久久久久免费看| 日韩成人dvd| 91碰在线视频| 国产视频911| 91麻豆精品国产91久久久久久| 欧美性色黄大片| 国产精品视频在线看| 久草精品在线观看| 欧美日韩精品一区视频| 一区在线播放视频| 国产乱一区二区| 欧美大片在线观看一区二区| 一区二区三区在线观看欧美| 婷婷成人激情在线网| 色婷婷激情一区二区三区| 日本一区二区视频在线| 狠狠色狠狠色综合| 日韩免费视频一区二区| 婷婷久久综合九色综合伊人色| 色婷婷综合在线| 中文字幕一区二区三区四区不卡 | 亚洲女人的天堂| 粗大黑人巨茎大战欧美成人| 久久综合九色综合欧美就去吻| 三级在线观看一区二区| 欧美日韩中字一区| 一区二区三区不卡视频在线观看| 99天天综合性| 亚洲乱码国产乱码精品精小说| 成人开心网精品视频| 国产蜜臀av在线一区二区三区| 国产精品91xxx| 国产亚洲精久久久久久| 国产成人午夜精品5599| 国产午夜一区二区三区| 国产不卡视频在线播放| 欧美国产日韩一二三区| 成人精品视频一区| 中文字幕亚洲综合久久菠萝蜜| 成人国产视频在线观看| 综合婷婷亚洲小说| 91天堂素人约啪| 伊人婷婷欧美激情| 欧美色精品天天在线观看视频| 亚洲一区在线播放| 91精品国产综合久久久久| 日本不卡123| 欧美大片拔萝卜| 国产精品自拍在线| 亚洲欧美国产毛片在线| 欧美午夜精品电影| 日韩专区欧美专区| 久久久亚洲欧洲日产国码αv| 国产精品一区二区三区四区| 亚洲欧洲日产国产综合网| 色狠狠色噜噜噜综合网| 日韩 欧美一区二区三区| 精品sm在线观看| 亚洲国产视频a| 欧美一级国产精品| 国产精一区二区三区| 亚洲欧洲精品一区二区三区| 色婷婷综合五月| 狂野欧美性猛交blacked| 国产欧美综合在线观看第十页| 一本久久a久久精品亚洲| 天天综合色天天| 国产女同性恋一区二区| 欧美三片在线视频观看| 久久99九九99精品| 中文字幕亚洲综合久久菠萝蜜| 欧美精品色一区二区三区| 国产精一区二区三区| 亚洲国产另类av| 国产亚洲精品福利| 欧美视频在线观看一区二区| 国产一区二区免费在线| 亚洲另类中文字| 精品国产99国产精品| 91福利在线播放| 国产综合成人久久大片91| 樱桃国产成人精品视频| 26uuu精品一区二区三区四区在线| 91女神在线视频| 国产在线播放一区三区四| 夜夜精品视频一区二区| 久久久亚洲精品一区二区三区| 欧美日韩夫妻久久| 粉嫩欧美一区二区三区高清影视| 偷拍日韩校园综合在线| 欧美午夜一区二区三区| 一区二区激情小说| 欧美一区二区大片| 亚洲欧美激情小说另类| 欧美日韩中字一区| 日韩精品色哟哟| av成人老司机| 精品在线一区二区三区|