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

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

?? dalovl.c

?? 此代碼為WCE5.0下顯示器的源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// Use of this source code is subject to the terms of the Microsoft end-user
// license agreement (EULA) under which you licensed this SOFTWARE PRODUCT.
// If you did not accept the terms of the EULA, you are not authorized to use
// this source code. For a copy of the EULA, please see the LICENSE.RTF on your
// install media.
//
/****************************************************************************\
*
*  Module Name    dalovl.c
*  Project        ATI Display Abstraction Layer
*  Device         Radeon (Win95/98 & WinNT 4.0/5.0)
*
*  Description    source file for Display Abstraction Layer 0.87
*                 contains functions for processing CWDDE Extensions
*
*  Copyright (c) 1998-2001 ATI Technologies Inc. (unpublished)
*
*  All rights reserved.  This notice is intended as a precaution against
*  inadvertent publication and does not imply publication or any waiver
*  of confidentiality.  The year included in the foregoing notice is the
*  year of creation of the work.
*
*  Refer to DAL Developers Guide & Programming Reference Rev 0.87 for usage
*
\****************************************************************************/

#include "dal.h"
#include "daldef.h"
#include "cwddedi.h"

/****************************Private*Routine*******************************\
*
* ULONG DALCWDDE_OverlayFlushData()
*
* Function queries all dirty overlay adjustment data and retuns the regsitry
* data via CWDDE to be written into the registry.
*
* Notes:
*
\**************************************************************************/

ULONG DALCWDDE_OverlayFlushData(
LPHW_DAL_EXTENSION lpHDE,
ULONG              ulDriverID,
SAVEDATA FAR      *lpSaveData)
{
  ULONG       i;
  BOOL        bYUVFormat;
  LPOVLADJUST lpAdjust;

  lpSaveData->ulSize = sizeof(SAVEDATA);
  lpSaveData->ulReturnSize = 0;

  bYUVFormat = TRUE;
  for (i = 0; i < DAL_OVERLAY_MAX_NUM_ADJUSTMENTS; i++)
  {
    lpAdjust = (LPOVLADJUST)&lpHDE->asOvlAdjust[i];

    // no need to save to the registry when an adjustment is needed to be 
    // reset at overlay allocation time.
    if (  (  DAL_OVLADJUST_SAVEREG_FLAG      & lpAdjust->ulFlags)
        &&(!(DAL_OVLADJUST_RESETATALLOC_FLAG & lpAdjust->ulFlags)))
    {
      lpGetOverlayRegName(lpSaveData->cStrName,
                          (LPUCHAR)NULL,
                          bYUVFormat,
                          lpAdjust->lpRegName);

      if (DAL_OVLADJUST_DISPDEVDEP_FLAG & lpAdjust->ulFlags)
      {
        lpSaveData->ulReturnSize = sizeof(LONG) * MAX_OBJECT_MAP;
      }
      else
      {
        lpSaveData->ulReturnSize = sizeof(LONG);
      }

      MOVEMEMORY((LPVOID)lpSaveData->ulBuffer,
                 (LPVOID)lpAdjust->lpAdjusts,
                 lpSaveData->ulReturnSize);
    
      lpAdjust->ulFlags &= ~DAL_OVLADJUST_SAVEREG_FLAG;

      return(CWDDE_OK);
    }
  }

  return(CWDDE_ERR_OUTOFRANGE);
}


/******************************Private*Routine*****************************\
*
* LPUCHAR lpGetOverlayRegName()
*
* This function construct registry name for an overlay adjustment
*
* PARAMETERS:
* lpBuf         buffer for the registry name to be stored
* lpDisplayName pointer of a display name.  If this pointer is valid, then
*               this function contructs default name; otherwise, it builds
*               name for adjustment values.
* bYUVFormat    TRUE indicates YUV overlay source format
* lpOverlayName pointer of a adjustment type name
*
* RETURN:
* lpBuf if there is no error.
* 
\**************************************************************************/

LPUCHAR lpGetOverlayRegName(LPUCHAR lpBuf,
                            LPUCHAR lpDisplayName,
                            BOOL    bYUVFormat,
                            LPUCHAR lpOverlayName)
{
    if (lpDisplayName && lpOverlayName &&
        (sizeof(DALREGKEY_DAL) +
         strlen(lpDisplayName) +
         sizeof(DALREGKEY_DEFAULT) +
         sizeof(DALREGKEY_OVERLAYYUV) +
         strlen(lpOverlayName)) <= MAX_REGISTRY_VALUENAME)
    {
        strcpy(lpBuf, DALREGKEY_DAL);
        strcat(lpBuf, (lpDisplayName ? lpDisplayName : ""));
        strcat(lpBuf, (lpDisplayName ? DALREGKEY_DEFAULT : ""));
        strcat(lpBuf, (bYUVFormat ? DALREGKEY_OVERLAYYUV : ""));
        strcat(lpBuf, lpOverlayName);
    }

    return lpBuf;
}


/******************************Private*Routine*****************************\
*
* LONG lGetOverlayDefaultPerDisplay()
* 
* This function retreives an overlay type default value from the registry.
* The default value is display dependent.
*
* PARAMETERS:
* lpHDE         DAL instance structure
* ulDisplayType bit vector of a display type
* lpReg         pointer of an overlay adjustment name
* bYUVFormat    TRUE indicates YUV overlay source format
* lDefault      returns this value if an error occurs
*
* RETURN:
* an overlay default value
* 
\**************************************************************************/

LONG lGetOverlayDefaultPerDisplay(LPHW_DAL_EXTENSION lpHDE,
                                  ULONG              ulDisplayType,
                                  LPUCHAR            lpReg,
                                  BOOL               bYUVFormat,
                                  LONG               lDefault)
{
  ULONG    i;
  ULONG    ulSize;
  ULONG    ulData;
  LPDEVGDO lpDisplay;
  UCHAR    aucRegName[MAX_REGISTRY_VALUENAME];

  //
  // get the registry name
  //
  i = ulFindDisplayIndex(lpHDE, ulDisplayType);
  if (MAX_NUMBER_DISPLAYS == i)
  {
    return lDefault;
  }

  lpDisplay = (LPDEVGDO)&lpHDE->aDisplays[i];
  lpGetOverlayRegName(aucRegName,
                      (LPUCHAR)lpDisplay->lpHWED->lpDisplayName,
                      bYUVFormat,
                      lpReg);

  // 
  ulSize = sizeof(ULONG);
  if ((DDLGetRegistryParameters(lpHDE->hDDL,
                                (LPUCHAR)&aucRegName[0],
                                (LPVOID)(&ulData),
                                (LPULONG)&ulSize) &&
      (ulSize == sizeof(ULONG))))
  {
    return (LONG)ulData;
  }

  return lDefault;
}


/******************************Private*Routine*****************************\
*
* ULONG ulGetOverlayPriorityDisplay()
*
* This function returns a display index from a display bit-vector.
* It prioritizes the display types and returns the highest available display
* index.
*
* PARAMETERS:
* ulDisplays  a display bit-vector
*
* RETURN:
* display index
* 
\**************************************************************************/

ULONG ulGetOverlayPriorityDisplay(ULONG ulDisplays)
{
  ULONG ulIndex;
  ULONG ulBitVector = HW_DISPLAY_TYPE_CRT;

  if (HW_DISPLAY_TYPE_LCD & ulDisplays)
  {
    ulBitVector = HW_DISPLAY_TYPE_LCD;
  }
  else if (HW_DISPLAY_TYPE_CV & ulDisplays)
  {
    ulBitVector = HW_DISPLAY_TYPE_CV;
  }
  else if (HW_DISPLAY_TYPE_TV & ulDisplays)
  {
    ulBitVector = HW_DISPLAY_TYPE_TV;
  }
  else if (HW_DISPLAY_TYPE_DFP & ulDisplays)
  {
    ulBitVector = HW_DISPLAY_TYPE_DFP;
  }
  else if (HW_DISPLAY_TYPE_DFP_EXTTMDS & ulDisplays)
  {
    ulBitVector = HW_DISPLAY_TYPE_DFP_EXTTMDS;
  }
  else if (HW_DISPLAY_TYPE_CRT & ulDisplays)
  {
    ulBitVector = HW_DISPLAY_TYPE_CRT;
  }
  else if (HW_DISPLAY_TYPE_CRT_2NDDAC & ulDisplays)
  {
    ulBitVector = HW_DISPLAY_TYPE_CRT_2NDDAC;
  }

  ulIndex       = 0;
  ulBitVector >>= 1;
  while (ulBitVector)
  {
    ulIndex++;
    ulBitVector >>= 1;
  }

  return ulIndex;
}


/******************************Private*Routine*****************************\
*
* VOID vBuildOverlaySettings()
*
* This function builds the overlay defaults and values based on the GCO
* and registry setting.
*
* PARAMETERS:
* lpHDE       DAL instance structure
*
* RETURN:
* none
* 
\**************************************************************************/

VOID vBuildOverlaySettings(LPHW_DAL_EXTENSION lpHDE)
{
  ULONG         i;
  LPDEVGCO      lpController;
  LPOVLADJUST   lpAdjust;
  UCHAR         aucRegName[MAX_REGISTRY_VALUENAME];
  LONG          lValue;
  ULONG         ulSize;

  lpController = (LPDEVGCO)&lpHDE->aControllers[0];   // sr - changed from 0 to 1.  Need to verify this for CE.

  // build up the adjustment table
  for (i = 0; i < DAL_OVERLAY_MAX_NUM_ADJUSTMENTS; i++)
  {
    lpAdjust = (LPOVLADJUST)&lpHDE->asOvlAdjust[i];
    lpAdjust->ulFlags = 0;

    switch (i)
    {
      case DAL_OVERLAY_ADJUSTTYPE_BRIGHTNESS:
      {
        if (  (GCO_HOOK_OVERLAY_GAMMA_ADJUSTMENT & lpController->lpHWED->ulFunctionHooks)
            &&(lpController->lpHWED->pfnGetOverlayGammaAdjustment)
            &&(lpController->lpHWED->pfnSetOverlayGammaAdjustment))
        {
          lpAdjust->ulFlags  |= DAL_OVLADJUST_SUPPORTED_FLAG;
          lpAdjust->ulFlags  |= DAL_OVLADJUST_DISPDEVDEP_FLAG;
          lpAdjust->ulDIIndex = CWDDEDI_CONTROLLER_OVERLAY_BRIGHTNESS;
          lpAdjust->lpDefault = lpHDE->alOverlayYUVDefaultBrightness;
          lpAdjust->lpAdjusts = lpHDE->alOverlayYUVBrightness;
          lpAdjust->lpRegName = (LPUCHAR)DALREGKEY_OVERLAYBRIGHTNESS;
          lpAdjust->pfnGet    = lpController->lpHWED->pfnGetOverlayGammaAdjustment;
          lpAdjust->pfnSet    = lpController->lpHWED->pfnSetOverlayGammaAdjustment;
          (*lpController->lpHWED->pfnGetOverlayGammaAdjustment)
                   (lpController->hGCO, (LPHW_ADJUSTMENT)&(lpAdjust->sGCODefault));
        }

        break;
      }

      case DAL_OVERLAY_ADJUSTTYPE_SATURATION:
      {
        if (  (GCO_HOOK_OVERLAY_SATURATION_ADJUSTMENT & lpController->lpHWED->ulFunctionHooks)
            &&(lpController->lpHWED->pfnGetOverlaySaturationAdjustment)
            &&(lpController->lpHWED->pfnSetOverlaySaturationAdjustment))
        {
          lpAdjust->ulFlags  |= DAL_OVLADJUST_SUPPORTED_FLAG;
          lpAdjust->ulFlags  |= DAL_OVLADJUST_DISPDEVDEP_FLAG;
          lpAdjust->ulDIIndex = CWDDEDI_CONTROLLER_OVERLAY_SATURATION;
          lpAdjust->lpDefault = lpHDE->alOverlayYUVDefaultSaturation;
          lpAdjust->lpAdjusts = lpHDE->alOverlayYUVSaturation;
          lpAdjust->lpRegName = (LPUCHAR)DALREGKEY_OVERLAYSATURATION;
          lpAdjust->pfnGet    = lpController->lpHWED->pfnGetOverlaySaturationAdjustment;
          lpAdjust->pfnSet    = lpController->lpHWED->pfnSetOverlaySaturationAdjustment;
          (*lpController->lpHWED->pfnGetOverlaySaturationAdjustment)
                   (lpController->hGCO, (LPHW_ADJUSTMENT)&(lpAdjust->sGCODefault));
        }

        break;
      }

      case DAL_OVERLAY_ADJUSTTYPE_CONTRAST:
      {
        if (  (GCO_HOOK_OVERLAY_CONTRAST_ADJUSTMENT & lpController->lpHWED->ulFunctionHooks)
            &&(lpController->lpHWED->pfnGetOverlayContrastAdjustment)
            &&(lpController->lpHWED->pfnSetOverlayContrastAdjustment))
        {
          lpAdjust->ulFlags  |= DAL_OVLADJUST_SUPPORTED_FLAG;
          lpAdjust->ulFlags  |= DAL_OVLADJUST_DISPDEVDEP_FLAG;
          lpAdjust->ulDIIndex = CWDDEDI_CONTROLLER_OVERLAY_CONTRAST;
          lpAdjust->lpDefault = lpHDE->alOverlayYUVDefaultContrast;
          lpAdjust->lpAdjusts = lpHDE->alOverlayYUVContrast;
          lpAdjust->lpRegName = (LPUCHAR)DALREGKEY_OVERLAYCONTRAST;
          lpAdjust->pfnGet    = lpController->lpHWED->pfnGetOverlayContrastAdjustment;
          lpAdjust->pfnSet    = lpController->lpHWED->pfnSetOverlayContrastAdjustment;
          (*lpController->lpHWED->pfnGetOverlayContrastAdjustment)
                   (lpController->hGCO, (LPHW_ADJUSTMENT)&(lpAdjust->sGCODefault));
        }

        break;
      }

      case DAL_OVERLAY_ADJUSTTYPE_HUE:
      {
        if (  (GCO_HOOK_OVERLAY_HUE_ADJUSTMENT & lpController->lpHWED->ulFunctionHooks)
            &&(lpController->lpHWED->pfnGetOverlayHueAdjustment)
            &&(lpController->lpHWED->pfnSetOverlayHueAdjustment))
        {
          lpAdjust->ulFlags  |= DAL_OVLADJUST_SUPPORTED_FLAG;
          lpAdjust->ulFlags  |= DAL_OVLADJUST_DISPDEVDEP_FLAG;
          lpAdjust->ulDIIndex = CWDDEDI_CONTROLLER_OVERLAY_HUE;
          lpAdjust->lpDefault = lpHDE->alOverlayYUVDefaultHue;
          lpAdjust->lpAdjusts = lpHDE->alOverlayYUVHue;
          lpAdjust->lpRegName = (LPUCHAR)DALREGKEY_OVERLAYHUE;
          lpAdjust->pfnGet    = lpController->lpHWED->pfnGetOverlayHueAdjustment;
          lpAdjust->pfnSet    = lpController->lpHWED->pfnSetOverlayHueAdjustment;
          (*lpController->lpHWED->pfnGetOverlayHueAdjustment)
                   (lpController->hGCO, (LPHW_ADJUSTMENT)&(lpAdjust->sGCODefault));
        }

        break;
      }

      case DAL_OVERLAY_ADJUSTTYPE_GAMMA:
      {
        if (  (GCO_HOOK_OVERLAY_COLOR_GAMMA_ADJUSTMENT & lpController->lpHWED->ulFunctionHooks)
            &&(lpController->lpHWED->pfnGetOverlayColorGammaAdjustment)
            &&(lpController->lpHWED->pfnSetOverlayColorGammaAdjustment))
        {
          lpAdjust->ulFlags  |= DAL_OVLADJUST_SUPPORTED_FLAG;
          lpAdjust->ulDIIndex = CWDDEDI_CONTROLLER_OVERLAY_GAMMA;
          lpAdjust->lpDefault = (LPLONG)&(lpAdjust->sGCODefault.lDefault);
          lpAdjust->lpAdjusts = (LPLONG)&(lpHDE->lOverlayYUVGamma);
          lpAdjust->lpRegName = (LPUCHAR)DALREGKEY_OVERLAYGAMMA;
          lpAdjust->pfnGet    = lpController->lpHWED->pfnGetOverlayColorGammaAdjustment;
          lpAdjust->pfnSet    = lpController->lpHWED->pfnSetOverlayColorGammaAdjustment;
          (*lpController->lpHWED->pfnGetOverlayColorGammaAdjustment)
                   (lpController->hGCO, (LPHW_ADJUSTMENT)&(lpAdjust->sGCODefault));
        }

        break;
      }

      case DAL_OVERLAY_ADJUSTTYPE_ALPHA:
      {
        if (  (GCO_HOOK2_OVERLAY_ALPHA_ADJUSTMENT & lpController->lpHWED->ulFunctionHooks2)
            &&(lpController->lpHWED->pfnGetOverlayAlphaAdjustment)
            &&(lpController->lpHWED->pfnSetOverlayAlphaAdjustment))
        {
          lpAdjust->ulFlags  |= DAL_OVLADJUST_SUPPORTED_FLAG;
          lpAdjust->ulFlags  |= DAL_OVLADJUST_RESETATALLOC_FLAG;
          lpAdjust->ulDIIndex = CWDDEDI_CONTROLLER_OVERLAY_ALPHA;
          lpAdjust->lpDefault = (LPLONG)&(lpAdjust->sGCODefault.lDefault);
          lpAdjust->lpAdjusts = (LPLONG)&(lpHDE->lOverlayYUVAlpha);
          lpAdjust->lpRegName = (LPUCHAR)DALREGKEY_OVERLAYALPHA;
          lpAdjust->pfnGet    = lpController->lpHWED->pfnGetOverlayAlphaAdjustment;
          lpAdjust->pfnSet    = lpController->lpHWED->pfnSetOverlayAlphaAdjustment;
          (*lpController->lpHWED->pfnGetOverlayAlphaAdjustment)
                   (lpController->hGCO, (LPHW_ADJUSTMENT)&(lpAdjust->sGCODefault));
        }

        break;
      }
    } 
  }

  for (i = 0; i < DAL_OVERLAY_MAX_NUM_ADJUSTMENTS; i++)
  {
    lpAdjust = (LPOVLADJUST)&lpHDE->asOvlAdjust[i];

    if (DAL_OVLADJUST_SUPPORTED_FLAG & lpAdjust->ulFlags)
    {
      if (DAL_OVLADJUST_DISPDEVDEP_FLAG & lpAdjust->ulFlags)
      {
        BOOL     bYUVFormat;
        ULONG    j;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国内一区二区视频| 久久女同精品一区二区| 国产精品综合二区| 日韩中文字幕av电影| 婷婷亚洲久悠悠色悠在线播放| 国产精品另类一区| 亚洲三级免费观看| 亚洲女与黑人做爰| 亚洲欧美电影院| 亚洲综合一区在线| 亚洲国产精品嫩草影院| 天堂成人国产精品一区| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美一区二区三区婷婷月色| 日本韩国一区二区三区| 在线观看日韩一区| 欧美日韩你懂得| 欧美成人午夜电影| 国产精品电影一区二区| 亚洲午夜久久久久久久久久久| 一区二区三区中文字幕电影| 亚洲电影第三页| 久久99精品一区二区三区三区| 黑人精品欧美一区二区蜜桃| 丁香六月综合激情| 欧美性猛交xxxx黑人交| 日韩小视频在线观看专区| 久久久久久久久蜜桃| 亚洲精品乱码久久久久久久久 | 精品国产乱码久久久久久浪潮| 日韩精品中文字幕一区二区三区 | 欧美亚洲国产bt| 日韩精品一区二区三区四区| 国产欧美一区二区精品秋霞影院| 亚洲欧美另类久久久精品| 蜜桃一区二区三区在线| 成人高清免费观看| 欧美日韩精品一区二区三区四区| 欧美精品一区视频| 亚洲国产精品影院| 成人黄动漫网站免费app| 欧美精品1区2区3区| 亚洲欧洲美洲综合色网| 亚洲成在线观看| voyeur盗摄精品| 日韩天堂在线观看| 一区二区三区波多野结衣在线观看 | 亚洲另类色综合网站| 日韩影视精彩在线| 91亚洲男人天堂| 精品sm在线观看| 七七婷婷婷婷精品国产| 欧美性色aⅴ视频一区日韩精品| 精品处破学生在线二十三| 一区二区三区精品久久久| 不卡一区二区中文字幕| 精品日韩一区二区三区免费视频| 一区二区成人在线视频| 波多野结衣欧美| 久久免费国产精品| 老司机精品视频在线| 欧美精品亚洲二区| 亚洲靠逼com| 99视频在线观看一区三区| 久久综合99re88久久爱| 欧美a级一区二区| 欧美无人高清视频在线观看| 国产精品不卡在线观看| 国产成人精品一区二区三区网站观看| 欧美一区二区网站| 人人狠狠综合久久亚洲| 欧美老女人在线| 亚洲高清免费在线| 欧美美女直播网站| 午夜视频一区二区| 欧美人xxxx| 免费美女久久99| 精品乱码亚洲一区二区不卡| 蜜桃一区二区三区在线观看| 日韩三级在线免费观看| 麻豆一区二区在线| 精品久久久久久久久久久久久久久| 午夜精品一区二区三区电影天堂| 欧美亚洲国产bt| 日韩国产欧美在线视频| 4438x亚洲最大成人网| 琪琪久久久久日韩精品| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 日本精品免费观看高清观看| 一区二区三区四区亚洲| 精品视频123区在线观看| 亚洲成av人**亚洲成av**| 欧美一区二区三区思思人| 韩国在线一区二区| 国产精品国产成人国产三级| 欧美主播一区二区三区| 日本三级韩国三级欧美三级| 欧美不卡一区二区三区四区| 国产资源在线一区| 亚洲婷婷综合色高清在线| 欧美日韩视频在线一区二区| 麻豆久久久久久久| 国产精品久久三| 欧美久久一二区| 国产资源在线一区| 亚洲综合色噜噜狠狠| 欧美zozo另类异族| 色综合天天性综合| 免费不卡在线观看| 亚洲人成人一区二区在线观看| 欧美日韩国产精品成人| 国产精品一区三区| 亚洲国产欧美一区二区三区丁香婷| 日韩免费一区二区| 91丨porny丨国产入口| 奇米影视7777精品一区二区| 亚洲欧洲日本在线| 亚洲精品一区二区三区精华液| 91在线高清观看| 激情欧美日韩一区二区| 亚洲日本在线a| 国产亚洲婷婷免费| 91精品国产欧美日韩| 91尤物视频在线观看| 国产一区二区三区免费观看| 午夜精品一区在线观看| 国产精品丝袜一区| 久久这里只有精品视频网| 欧美日韩免费观看一区二区三区| 国产不卡视频在线观看| 美女视频黄 久久| 亚洲国产欧美另类丝袜| 亚洲摸摸操操av| 国产亲近乱来精品视频| 欧美成人官网二区| 欧美丰满美乳xxx高潮www| 色哟哟国产精品免费观看| 丁香激情综合国产| 国产盗摄精品一区二区三区在线| 日本特黄久久久高潮| 婷婷综合另类小说色区| 一区二区激情视频| 亚洲精品国产一区二区三区四区在线| 久久久.com| 久久久久久久久久久久久久久99| 在线成人免费视频| 欧美区视频在线观看| 欧美另类z0zxhd电影| 欧美日韩午夜在线| 欧美理论在线播放| 欧美日韩精品高清| 欧美日韩精品欧美日韩精品一| 91豆麻精品91久久久久久| 91免费版在线| 色狠狠色狠狠综合| 在线亚洲一区二区| 日本精品一级二级| 欧美日韩在线一区二区| 欧美三级日韩三级国产三级| 日本精品视频一区二区| 欧美日韩aaa| 欧美刺激午夜性久久久久久久| 欧美一区二区三区思思人 | 国产高清精品在线| 成人性生交大片免费看中文| 成人福利电影精品一区二区在线观看 | 日韩av午夜在线观看| 蜜桃91丨九色丨蝌蚪91桃色| 国产专区欧美精品| 成人激情图片网| 色婷婷香蕉在线一区二区| 欧美熟乱第一页| 日韩一区二区中文字幕| 26uuu亚洲综合色欧美| 国产精品青草久久| 亚洲宅男天堂在线观看无病毒| 亚洲一级不卡视频| 久久狠狠亚洲综合| 99久久久久久| 欧美日韩性生活| 337p粉嫩大胆噜噜噜噜噜91av | 国产精品青草久久| 性欧美疯狂xxxxbbbb| 国内精品在线播放| 一本色道综合亚洲| 日韩欧美精品在线| 国产精品国产三级国产aⅴ原创 | 波多野结衣中文字幕一区| 色欧美日韩亚洲| 2022国产精品视频| 亚洲免费观看高清完整版在线| 日韩在线一区二区| www.av精品| 精品对白一区国产伦| 亚洲精品高清在线| 国产一区二区三区最好精华液| 99久久精品国产麻豆演员表| 日韩欧美另类在线| 亚洲妇熟xx妇色黄| 福利一区二区在线|