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

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

?? mmaloglistbox.cpp

?? 日志表控件
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
// ==========================================================================
// MMALogListBox.cpp
// 
// Author : Mike Marquet
//          mike.marquet@altavista.net
//
// Last Modified : 27/01/2000
// by            : Mike marquet
// ==========================================================================

// ==========================================================================
// Les Includes
// ==========================================================================

#include "stdafx.h"
#include <crtdbg.h>
#include <stdio.h>
#include <stdlib.h>
#include <io.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <errno.h>
#include <commdlg.h>
#include <math.h>
#include "MMALogListBox.h"
#include "API\Debug.h"

// ==========================================================================
// Les Defines
// ==========================================================================

#define LOGLBSTRING_INFO            "INFO"
#define LOGLBSTRING_WARNING         "WARNING"
#define LOGLBSTRING_ERROR           "ERROR"
#define LOGLBSTRING_FATAL           "FATAL"
#define LOGLBSTRING_SYSTEM          "SYSTEM"
#define LOGLBSTRING_DEBUG1          "DEBUG1"
#define LOGLBSTRING_DEBUG2          "DEBUG2"
#define LOGLBSTRING_DEBUG3          "DEBUG3"
#define LOGLBSTRING_DEBUG4          "DEBUG4"
#define LOGLBSTRING_TRACE           "TRACE"

#define MMALOGLISTBOX_VERSION       0x00000001

#define MMALOGBOOKDLG_LEFTMARGIN    10
#define MMALOGBOOKDLG_RIGHTMARGIN   10
#define MMALOGBOOKDLG_TOPMARGIN     10
#define MMALOGBOOKDLG_BOTTOMMARGIN  10

// ==========================================================================
// Les Variables Globales
// ==========================================================================

CMMALogListBox *g_pcMMALogListBox = NULL;

// ==========================================================================
// Les Fonctions HOOK
// ==========================================================================
#ifdef _DEBUG

int MMALogListBoxReportingHook(int iReportType, char *szUserMsg, int *piRetValue)
 {
  switch(iReportType)
   {
    case _CRT_WARN :
                     if (g_pcMMALogListBox)
                      {
                       if (szUserMsg[strlen(szUserMsg) - 1] == '\n') szUserMsg[strlen(szUserMsg) - 1] = 0;
                       if (szUserMsg[strlen(szUserMsg) - 1] == '\r') szUserMsg[strlen(szUserMsg) - 1] = 0;
                       if (szUserMsg[strlen(szUserMsg) - 1] == '\n') szUserMsg[strlen(szUserMsg) - 1] = 0;

                       g_pcMMALogListBox->AddLogLine(szUserMsg, LOGLB_TRACE);
                      }
                     break;
   }

  *piRetValue = 0;

  return 0;
 }

#endif

// ==========================================================================
// Les Fonctions
// ==========================================================================

void MMALogListBoxWndProc_DrawItemLine(HDC hDC, LPDRAWITEMSTRUCT lpdis)
 {
  if (lpdis->itemID == (UINT)-1) return;

  MMALOGLISTBOX_USERDATA *pstUserData = CMMALogListBox::GetUserData(lpdis->hwndItem);

  if (!pstUserData) return;

  LINEDATA_MEMORY *pstAllocatedLDM = (LINEDATA_MEMORY *)lpdis->itemData;
  int              iItemHeight     = lpdis->rcItem.bottom - lpdis->rcItem.top;
  HFONT            hOldFont        = NULL;
  int              iOldMode;
  COLORREF         clrOldText;
  HBRUSH           hBrush;
  RECT             stTimeRect;
  RECT             stTypeRect;
  RECT             stTextRect;
  char             szTime[255];
  char             szType[MMALOGLISTBOX_LINEDATA_TYPELEN + 1];
  char             szText[MMALOGLISTBOX_LINEDATA_TEXTLEN + 1];
  int              iTimeWidth;
  int              iTypeWidth;
  int              iTextWidth;
  BOOL             bWidthChange = FALSE;

  if (pstAllocatedLDM == NULL) return;

  // ----- LINE NOT USED -----
  if (pstAllocatedLDM->stLDF.lType == 0)
   {
    if (lpdis->itemState & ODS_SELECTED) hBrush = CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT));
    else hBrush = CreateSolidBrush(GetSysColor(COLOR_WINDOW));

    FillRect(hDC, &lpdis->rcItem, hBrush);

    DeleteObject(hBrush);

    return;
   }

  // ----- APPLY FONT IF NECESSARY -----
  if (pstAllocatedLDM->hFont) hOldFont = (HFONT)SelectObject(hDC, pstAllocatedLDM->hFont);

  // ----- GET ALL STRINGS -----
  strcpy(szTime, CMMALogListBox::GetStringTime(pstAllocatedLDM->stLDF.stST));
  strcpy(szType, CMMALogListBox::GetStringType(lpdis->hwndItem,pstAllocatedLDM->stLDF.lType));
  strcpy(szText, pstAllocatedLDM->stLDF.szText);

  iTimeWidth = CMMALogListBox::GetExtentForString(lpdis->hwndItem,pstAllocatedLDM->hFont,szTime);
  iTypeWidth = CMMALogListBox::GetExtentForString(lpdis->hwndItem,pstAllocatedLDM->hFont,CMMALogListBox::GetLengthlyType(lpdis->hwndItem));
  iTextWidth = CMMALogListBox::GetExtentForString(lpdis->hwndItem,pstAllocatedLDM->hFont,szText);

  // ----- CHECK WIDTH -----
  if (pstUserData->iTimeColumnSize < iTimeWidth)
   {
    pstUserData->iTimeColumnSize = iTimeWidth;
    bWidthChange                     = TRUE;
   }

  if (pstUserData->iTypeColumnSize < iTypeWidth)
   {
    pstUserData->iTypeColumnSize = iTypeWidth;
    bWidthChange                     = TRUE;
   }

  if (bWidthChange == TRUE)
   {
    InvalidateRect(lpdis->hwndItem, NULL, NULL);
    return;
   }

  // ----- TIME RECTANGLE -----
  stTimeRect.left   = lpdis->rcItem.left;
  stTimeRect.top    = lpdis->rcItem.top;
  stTimeRect.right  = lpdis->rcItem.left + pstUserData->iTimeColumnSize;
  stTimeRect.bottom = lpdis->rcItem.bottom;

  // ----- TYPE RECTANGLE -----
  stTypeRect.left   = stTimeRect.right;
  stTypeRect.top    = stTimeRect.top;
  stTypeRect.right  = stTimeRect.right + pstUserData->iTypeColumnSize;
  stTypeRect.bottom = stTimeRect.bottom;

  // ----- TEXT RECTANGLE -----
  stTextRect.left   = stTypeRect.right;
  stTextRect.top    = stTypeRect.top;
  stTextRect.right  = lpdis->rcItem.right;
  stTextRect.bottom = stTypeRect.bottom;

  // ----- BACKGROUND MODE -----
  iOldMode = SetBkMode(hDC, TRANSPARENT);

  // ----- TIME BACKGROUND-----
  if (lpdis->itemState & ODS_SELECTED) hBrush = CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT));
  else if (pstAllocatedLDM->stLDF.bNewLineData) hBrush = CreateSolidBrush(GetNearestColor(hDC,RGB(210,210,210)));
       else if (pstAllocatedLDM->stLDF.stTimeColors.bUseBkColor) hBrush = CreateSolidBrush(pstAllocatedLDM->stLDF.stTimeColors.clrBk);
            else hBrush = CreateSolidBrush(GetSysColor(COLOR_WINDOW));

  FillRect(hDC, &stTimeRect, hBrush);

  DeleteObject(hBrush);

  // ----- TYPE BACKGROUND -----
  if (lpdis->itemState & ODS_SELECTED) hBrush = CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT));
  else if (pstAllocatedLDM->stLDF.lType == LOGLB_DEBUG1) hBrush = CreateSolidBrush(pstUserData->clrBkDebug[0]);
       else if (pstAllocatedLDM->stLDF.lType == LOGLB_DEBUG2) hBrush = CreateSolidBrush(pstUserData->clrBkDebug[1]);
            else if (pstAllocatedLDM->stLDF.lType == LOGLB_DEBUG3) hBrush = CreateSolidBrush(pstUserData->clrBkDebug[2]);
                 else if (pstAllocatedLDM->stLDF.lType == LOGLB_DEBUG4) hBrush = CreateSolidBrush(pstUserData->clrBkDebug[3]);
                      else if (pstAllocatedLDM->stLDF.stTypeColors.bUseBkColor) hBrush = CreateSolidBrush(pstAllocatedLDM->stLDF.stTypeColors.clrBk);
                           else hBrush = CreateSolidBrush(GetSysColor(COLOR_WINDOW));

  FillRect(hDC, &stTypeRect, hBrush);

  DeleteObject(hBrush);

  // ----- TEXT BACKGROUND -----
  if (lpdis->itemState & ODS_SELECTED) hBrush = CreateSolidBrush(GetSysColor(COLOR_HIGHLIGHT));
  else if (pstAllocatedLDM->stLDF.stTextColors.bUseBkColor) hBrush = CreateSolidBrush(pstAllocatedLDM->stLDF.stTextColors.clrBk);
       else hBrush = CreateSolidBrush(GetSysColor(COLOR_WINDOW));

  FillRect(hDC, &stTextRect, hBrush);

  DeleteObject(hBrush);

  // ----- DRAW COLUMNS -----
  MoveToEx(hDC, stTimeRect.right, stTimeRect.top, NULL);
  LineTo(hDC, stTimeRect.right, stTimeRect.bottom);

  MoveToEx(hDC, stTypeRect.right, stTypeRect.top, NULL);
  LineTo(hDC, stTypeRect.right, stTypeRect.bottom);

  // ----- SEPARATOR -----
  if (CMMALogListBox::IsSeparatorLine(pstAllocatedLDM->stLDF.lType))
   {
    HPEN hPen;

    switch(CMMALogListBox::IsSeparatorLine(pstAllocatedLDM->stLDF.lType))
     {
      case LOGLB_DBLSEPARATOR        : hPen = CreatePen(PS_SOLID     , 3, RGB(0,0,0)); break;
      case LOGLB_DASHSEPARATOR       : hPen = CreatePen(PS_DASH      , 1, RGB(0,0,0)); break;
      case LOGLB_DOTSEPARATOR        : hPen = CreatePen(PS_DOT       , 1, RGB(0,0,0)); break;
      case LOGLB_DASHDOTSEPARATOR    : hPen = CreatePen(PS_DASHDOT   , 1, RGB(0,0,0)); break;
      case LOGLB_DASHDOTDOTSEPARATOR : hPen = CreatePen(PS_DASHDOTDOT, 1, RGB(0,0,0)); break;

      default                        : hPen = CreatePen(PS_SOLID     , 1, RGB(0,0,0)); break;
     }

    HPEN hOldPen = (HPEN)SelectObject(hDC, hPen);

    MoveToEx(hDC, lpdis->rcItem.left, lpdis->rcItem.top + iItemHeight / 2, NULL);
    LineTo(hDC, lpdis->rcItem.right, lpdis->rcItem.top + iItemHeight / 2);

    SelectObject(hDC, hOldPen);

    DeleteObject(hPen);
   }
  else {
        // ----- TIME FOREGROUND + TEXT
        clrOldText = (lpdis->itemState & ODS_SELECTED) ? SetTextColor(hDC, RGB(255,255,255)) : SetTextColor(hDC, RGB(0,0,0));

        if (pstAllocatedLDM->stLDF.stTimeColors.bUseTextColor) clrOldText = SetTextColor(hDC, pstAllocatedLDM->stLDF.stTimeColors.clrText);

        stTimeRect.left += 2;

        if (!(pstAllocatedLDM->stLDF.lType & LOGLB_NOTIME))
         DrawText(hDC, szTime, strlen(szTime), &stTimeRect, DT_LEFT);

        // ----- TYPE FOREGROUND + TEXT -----
        clrOldText = (lpdis->itemState & ODS_SELECTED) ? SetTextColor(hDC, RGB(255,255,255)) : SetTextColor(hDC, RGB(0,0,0));

        if (pstAllocatedLDM->stLDF.stTypeColors.bUseTextColor) clrOldText = SetTextColor(hDC, pstAllocatedLDM->stLDF.stTypeColors.clrText);

        if (pstAllocatedLDM->stLDF.lType == LOGLB_DEBUG1) clrOldText = SetTextColor(hDC, pstUserData->clrTextDebug[0]);
        else if (pstAllocatedLDM->stLDF.lType == LOGLB_DEBUG2) clrOldText = SetTextColor(hDC, pstUserData->clrTextDebug[1]);
             else if (pstAllocatedLDM->stLDF.lType == LOGLB_DEBUG3) clrOldText = SetTextColor(hDC, pstUserData->clrTextDebug[2]);
                  else if (pstAllocatedLDM->stLDF.lType == LOGLB_DEBUG4) clrOldText = SetTextColor(hDC, pstUserData->clrTextDebug[3]);

        stTypeRect.left += 2;

        if (!(pstAllocatedLDM->stLDF.lType & LOGLB_NOTYPE))
         DrawText(hDC, szType, strlen(szType), &stTypeRect, DT_LEFT);

        // ----- TEXT FOREGROUND + TEXT -----
        clrOldText = (lpdis->itemState & ODS_SELECTED) ? SetTextColor(hDC, RGB(255,255,255)) : SetTextColor(hDC, RGB(0,0,0));

        if (pstAllocatedLDM->stLDF.stTextColors.bUseTextColor) clrOldText = SetTextColor(hDC, pstAllocatedLDM->stLDF.stTextColors.clrText);

        stTextRect.left += 2;

        DrawText(hDC, szText, strlen(szText), &stTextRect, DT_LEFT);
       }

  // ----- RESTORE OLD FONT -----
  if (pstAllocatedLDM->hFont) SelectObject(hDC, hOldFont);

  // ---- RESTORE OLD BACKGROUND MODE -----
  SetTextColor(hDC, clrOldText);

  SetBkMode(hDC, iOldMode);
 }

// ==========================================================================
// Les Fonctions Relatives aux messages de la ListBox
// ==========================================================================

BOOL MMALogListBoxWndProc_Destroy(HWND hwnd)
 {
  //TRACE("(...) MMALogListBoxWndProc_Destroy(hwnd = 0x%X)\n", hwnd);

  CMMALogListBox::ResetListBoxContent(hwnd);

  MMALOGLISTBOX_USERDATA *pstUserData = CMMALogListBox::GetUserData(hwnd);

  if (pstUserData)
   {
    delete pstUserData;
    pstUserData = NULL;
   }

  CMMALogListBox::SetUserData(hwnd, NULL);

  return FALSE;
 }

// --------------------------------------------------------------------------

void MMALogListBoxWndProc_DrawItem(LPDRAWITEMSTRUCT lpdis)
 {
  if (lpdis->CtlType != ODT_LISTBOX) return;

  HDC hDC     = lpdis->hDC;
  int iSaveDC = SaveDC(hDC);

  if (lpdis->itemAction == ODA_DRAWENTIRE)
   {
    MMALogListBoxWndProc_DrawItemLine(hDC, lpdis);
   }

  if (lpdis->itemAction == ODA_SELECT)
   {
    MMALogListBoxWndProc_DrawItemLine(hDC, lpdis);
   }

  if (lpdis->itemAction == ODA_FOCUS)
   {
    DrawFocusRect(hDC, &lpdis->rcItem);
   }

  // Restore DC
  RestoreDC(hDC, iSaveDC);
 }

// --------------------------------------------------------------------------

void MMALogListBoxWndProc_MeasureItem(LPMEASUREITEMSTRUCT lpmis)
 {
  if (lpmis->CtlType != ODT_LISTBOX) return;

  if (lpmis->itemID == (UINT)-1) return;

  LINEDATA_MEMORY *pstAllocatedLDM = (LINEDATA_MEMORY *)lpmis->itemData;

  if (!pstAllocatedLDM) return;

  int iLineCount = CMMALogListBox::GetLineCount(pstAllocatedLDM->stLDF.szText);

  if (!pstAllocatedLDM->hFont)
   {
    lpmis->itemHeight = lpmis->itemHeight * iLineCount;    
    return;
   }

  LOGFONT stLF;

  GetObject(pstAllocatedLDM->hFont, sizeof(stLF), &stLF);

  unsigned int iHeight = (stLF.lfHeight >= 0) ? stLF.lfHeight : stLF.lfHeight * -1;

  if (iHeight < lpmis->itemHeight) lpmis->itemHeight = lpmis->itemHeight * iLineCount;
  else lpmis->itemHeight = iHeight * iLineCount;
 }

// --------------------------------------------------------------------------

BOOL MMALogListBoxWndProc_LButtonDblClk(HWND hwnd, WPARAM fwKeys, WORD xPos, WORD yPos)
 {
  int iCount = SendMessage(hwnd, LB_GETCOUNT, 0L, 0L);

  SendMessage(hwnd, LB_SETCURSEL, (WPARAM)(iCount - 1), 0L);

  return FALSE;
 }

// --------------------------------------------------------------------------

BOOL MMALogListBoxWndProc_RButtonDblClk(HWND hwnd, WPARAM fwKeys, WORD xPos, WORD yPos)
 {
  SendMessage(hwnd, LB_SETCURSEL, (WPARAM)0, 0L);

  return FALSE;
 }

// --------------------------------------------------------------------------

LRESULT CALLBACK MMALogListBoxWndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
 {
  WNDPROC pOldWndProc = CMMALogListBox::GetOldWndProc(hwnd);

  if (message == WM_DESTROY && MMALogListBoxWndProc_Destroy(hwnd)) return 0L;

  else if (message == WM_LBUTTONDBLCLK && MMALogListBoxWndProc_LButtonDblClk(hwnd, wParam, LOWORD(lParam), HIWORD(lParam))) return 0L;

  else if (message == WM_RBUTTONDBLCLK && MMALogListBoxWndProc_RButtonDblClk(hwnd, wParam, LOWORD(lParam), HIWORD(lParam))) return 0L;

  if (pOldWndProc) return CallWindowProc(pOldWndProc, hwnd, message, wParam, lParam);

  return DefWindowProc(hwnd, message, wParam, lParam);
 }


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品午夜久久久| 成人教育av在线| 国产一区二区三区免费| 91蜜桃免费观看视频| 91精品国产欧美一区二区18| 国产精品成人免费| 久久电影网电视剧免费观看| av色综合久久天堂av综合| 日韩欧美一卡二卡| 亚洲已满18点击进入久久| 国产精品白丝jk黑袜喷水| 欧美三区免费完整视频在线观看| 久久青草国产手机看片福利盒子| 亚洲一区二区三区视频在线播放| 国产成人免费视频网站高清观看视频| 欧美色电影在线| 亚洲欧美色图小说| 99国产精品久久久| 国产片一区二区三区| 久草中文综合在线| 欧美成人vps| 精品在线视频一区| 日韩欧美国产一二三区| 日韩精彩视频在线观看| 欧美体内she精视频| 亚洲精品一二三| 色偷偷成人一区二区三区91| 国产午夜三级一区二区三| 国模少妇一区二区三区| 欧美成人免费网站| 国产一区二区在线看| 精品国产人成亚洲区| 黑人巨大精品欧美黑白配亚洲| 欧美一区二区三区日韩视频| 免费黄网站欧美| 精品精品国产高清a毛片牛牛| 日本人妖一区二区| 日韩三级免费观看| 国内成人精品2018免费看| 国产人久久人人人人爽| 成人黄色国产精品网站大全在线免费观看 | 国产精品69毛片高清亚洲| 日韩午夜中文字幕| 国产一区二区三区不卡在线观看| 欧美成人官网二区| 国产成a人无v码亚洲福利| 中文字幕乱码一区二区免费| 成人黄色小视频| 亚洲图片欧美色图| 欧美一卡2卡3卡4卡| 国产综合久久久久久久久久久久| 久久久噜噜噜久久中文字幕色伊伊| 国内久久精品视频| 国产精品久久久久婷婷二区次| 99久久亚洲一区二区三区青草| 一区二区三区日韩精品视频| 欧美日韩视频专区在线播放| 麻豆久久久久久| 国产精品视频一二三区 | 蜜臀av性久久久久蜜臀aⅴ四虎| 日韩精品在线网站| 99这里只有久久精品视频| 亚洲综合免费观看高清在线观看| 欧美视频一二三区| 国产精品一二三在| 亚洲精品成人少妇| 精品成人一区二区三区四区| 99久久婷婷国产精品综合| 日韩福利视频网| 国产精品久久久久久久久免费樱桃 | 99re热这里只有精品免费视频| 亚洲免费大片在线观看| 欧美一区二区福利在线| 成人黄色片在线观看| 日本欧美久久久久免费播放网| 久久精品一区蜜桃臀影院| 欧美色手机在线观看| 国产成人综合在线| 免费在线观看不卡| 亚洲综合丝袜美腿| 国产情人综合久久777777| 欧美日韩综合色| 成人看片黄a免费看在线| 水蜜桃久久夜色精品一区的特点| 欧美激情综合五月色丁香小说| 精品视频一区二区不卡| 风流少妇一区二区| 麻豆精品在线播放| 亚洲自拍偷拍图区| 国产精品电影院| 久久综合色8888| 91精品国产美女浴室洗澡无遮挡| 不卡一区中文字幕| 国产精品资源在线看| 日本sm残虐另类| 亚洲不卡av一区二区三区| 亚洲免费观看在线观看| 欧美国产成人在线| 久久蜜桃av一区精品变态类天堂| 欧美日韩免费电影| 欧洲av一区二区嗯嗯嗯啊| av在线不卡免费看| 成人一区二区三区中文字幕| 国产在线播放一区二区三区| 蜜桃av一区二区| 青青草一区二区三区| 首页亚洲欧美制服丝腿| 亚洲一二三四区| 亚洲图片欧美色图| 亚洲国产一区二区三区青草影视| 亚洲蜜臀av乱码久久精品蜜桃| 国产精品成人在线观看| 国产精品色婷婷| 国产精品理伦片| 国产精品久久久久久久久晋中| 国产日韩成人精品| 国产精品久久久久久久岛一牛影视| 久久精品网站免费观看| 久久精品一区四区| 国产精品国产三级国产专播品爱网| 久久久精品天堂| 欧美高清在线精品一区| 国产精品久久久久影院色老大 | 日韩精品一区国产麻豆| 日韩一级完整毛片| 精品久久99ma| 国产亚洲人成网站| 中文字幕在线视频一区| 综合欧美一区二区三区| 亚洲一二三区在线观看| 男人的j进女人的j一区| 国产综合色产在线精品| www..com久久爱| 日本韩国一区二区三区视频| 欧美色图片你懂的| 日韩一级片网站| 国产免费观看久久| 亚洲黄网站在线观看| 免费一级欧美片在线观看| 国产一区二区调教| 99在线精品观看| 91精品在线一区二区| 久久久久久久综合狠狠综合| 国产精品国产a| 爽爽淫人综合网网站 | 五月婷婷激情综合| 精品一区二区三区免费| jizzjizzjizz欧美| 欧美一区二区人人喊爽| 国产欧美一区二区精品久导航 | 欧洲视频一区二区| 精品久久久久久久久久久久包黑料| 欧美国产1区2区| 日精品一区二区| 成人国产免费视频| 欧美精选一区二区| 中文字幕av不卡| 日本vs亚洲vs韩国一区三区二区| 成人综合激情网| 日韩一区二区三区视频在线观看| 国产精品久久三| 国内精品第一页| 91精品黄色片免费大全| 亚洲欧美电影院| 国产麻豆午夜三级精品| 欧美精品在线观看一区二区| 中文字幕免费不卡在线| 蜜桃视频在线观看一区二区| 91老司机福利 在线| 欧美国产综合色视频| 蜜乳av一区二区| 欧美自拍偷拍午夜视频| 中文字幕免费不卡| 国产一区二区三区综合| 欧美一区二区三区公司| 亚洲精品高清视频在线观看| 国产成人免费在线观看不卡| 欧美一区二区视频在线观看2020 | 精品亚洲成a人在线观看| 欧美在线视频不卡| 亚洲欧洲av一区二区三区久久| 国产中文字幕精品| 欧美一区二区三区影视| 亚洲一区成人在线| 一本大道av一区二区在线播放| 国产色综合久久| 麻豆91精品视频| 91精品国产综合久久久蜜臀图片| 亚洲欧洲制服丝袜| 97久久人人超碰| 亚洲女与黑人做爰| 91麻豆文化传媒在线观看| 国产精品福利在线播放| 成人午夜电影小说| 国产人伦精品一区二区| 国产成人一区二区精品非洲| 久久久激情视频| 国产乱码精品一品二品| 337p粉嫩大胆色噜噜噜噜亚洲| 美女网站在线免费欧美精品|