亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
国产精品一区二区三区99| 国产精品一二三| 久久久99久久| 91行情网站电视在线观看高清版| 久久精品二区亚洲w码| 国产精品福利一区二区三区| 日韩视频一区在线观看| 欧美一区二区在线免费播放| 91婷婷韩国欧美一区二区| 久久激情五月激情| 亚洲成人手机在线| 国产精品九色蝌蚪自拍| 久久久精品免费免费| 337p亚洲精品色噜噜| 91免费在线视频观看| 国产综合成人久久大片91| 视频一区二区三区在线| 一区二区三区在线观看动漫| 日韩一区在线免费观看| 国产午夜三级一区二区三| 欧美成人福利视频| 制服丝袜国产精品| 在线观看亚洲a| 色综合亚洲欧洲| 成年人国产精品| 国产成a人亚洲| 国产一区欧美一区| 精品制服美女丁香| 免费不卡在线视频| 亚洲国产欧美一区二区三区丁香婷| 中文字幕亚洲欧美在线不卡| 欧美激情在线免费观看| 国产日韩综合av| 国产欧美一区二区三区在线老狼 | 色拍拍在线精品视频8848| 成人亚洲精品久久久久软件| 国产精品一卡二卡| 国产精品18久久久久久久久| 激情深爱一区二区| 久草在线在线精品观看| 精品亚洲免费视频| 久久爱www久久做| 国产在线国偷精品免费看| 国产毛片一区二区| 国产91清纯白嫩初高中在线观看 | 国产精品一区二区视频| 国产乱码一区二区三区| 国产福利视频一区二区三区| 国产一区在线不卡| 大陆成人av片| 91社区在线播放| 欧美日韩一区三区四区| 91精品国产黑色紧身裤美女| 日韩精品影音先锋| 久久精品日产第一区二区三区高清版 | 777午夜精品免费视频| 欧美日韩免费观看一区三区| 欧美精品久久天天躁| 精品盗摄一区二区三区| 欧美高清在线一区| 亚洲另类在线制服丝袜| 亚洲福中文字幕伊人影院| 日本成人在线视频网站| 国产一区二区三区久久久 | 一区二区三区在线免费播放| 亚洲sss视频在线视频| 免费成人av资源网| 风间由美一区二区三区在线观看 | 国产91露脸合集magnet| av电影天堂一区二区在线观看| 色婷婷香蕉在线一区二区| 91麻豆精品国产自产在线| 精品国精品自拍自在线| 自拍偷拍亚洲激情| 日日夜夜一区二区| 国产成人高清视频| 91久久精品一区二区| 日韩欧美综合在线| 国产精品动漫网站| 日本免费新一区视频| 风间由美一区二区av101| 欧美老女人第四色| 国产日韩三级在线| 性做久久久久久久免费看| 国产精品自产自拍| 精品1区2区3区| 久久久久久久久久电影| 亚洲一区二区五区| 国产乱码精品一区二区三区忘忧草| 91麻豆自制传媒国产之光| 欧美成人vr18sexvr| 亚洲精品v日韩精品| 久久国产尿小便嘘嘘尿| 欧美在线不卡一区| 久久久久久久性| 亚洲bdsm女犯bdsm网站| 盗摄精品av一区二区三区| 91精品国产免费久久综合| 中文字幕av不卡| 久草精品在线观看| 欧美视频一区二区三区四区| 国产亚洲一区字幕| 日本不卡一二三| 欧美午夜电影在线播放| 国产欧美视频一区二区| 精品中文av资源站在线观看| 欧美吻胸吃奶大尺度电影| 亚洲欧美中日韩| 韩国毛片一区二区三区| 欧美一区二区日韩| 亚洲影院免费观看| 91视频一区二区| 久久久国产综合精品女国产盗摄| 青青青伊人色综合久久| 欧美性xxxxxx少妇| 亚洲激情五月婷婷| jizz一区二区| 国产精品久久久久久久久快鸭| 国产一区二区三区四| 欧美大度的电影原声| 性感美女极品91精品| 欧美在线999| 亚洲欧洲综合另类| eeuss国产一区二区三区| 久久嫩草精品久久久精品一| 精品夜夜嗨av一区二区三区| 日韩视频一区在线观看| 日韩国产精品久久| 欧美日本免费一区二区三区| 亚洲精品成a人| 在线视频你懂得一区二区三区| 日韩美女视频19| 91在线观看下载| 亚洲老司机在线| 91国偷自产一区二区使用方法| 亚洲精品v日韩精品| 色综合久久中文综合久久牛| 亚洲男人电影天堂| 日本福利一区二区| 一区二区在线看| 欧美性大战久久久久久久| 性做久久久久久| 欧美一区日韩一区| 韩国精品主播一区二区在线观看 | 亚洲一区在线观看网站| 欧美伊人久久大香线蕉综合69| 亚洲精选一二三| 欧美艳星brazzers| 亚洲成年人影院| 日韩一级黄色片| 国内外精品视频| 欧美激情一区不卡| 91色|porny| 石原莉奈在线亚洲三区| 91精品国产福利在线观看| 久久精品国产99| 国产欧美一区二区三区网站| 色综合久久综合网欧美综合网| 亚洲一区在线视频观看| 欧美不卡一区二区三区| 国产99久久久国产精品免费看| 亚洲色图欧美偷拍| 678五月天丁香亚洲综合网| 久久精品免费看| 中文字幕一区二区视频| 欧美在线色视频| 国产专区综合网| 中文字幕永久在线不卡| 欧美日韩一级片在线观看| 日本欧美肥老太交大片| 国产精品视频观看| 91国产成人在线| 韩日欧美一区二区三区| 亚洲人吸女人奶水| 欧美一级国产精品| www.亚洲国产| 视频在线观看91| 国产欧美日韩在线观看| 美腿丝袜亚洲色图| 91丨porny丨国产入口| 日韩美女精品在线| 5858s免费视频成人| 国产风韵犹存在线视精品| 亚洲欧美激情视频在线观看一区二区三区| 在线观看一区二区视频| 高清久久久久久| 日韩精品一二三四| 亚洲欧洲日产国产综合网| 日韩一区二区在线看片| 99精品黄色片免费大全| 另类小说一区二区三区| 一区二区三区不卡在线观看| 久久久91精品国产一区二区精品| 91成人免费在线| 国产精品99久| 免费不卡在线视频| 亚洲午夜精品在线| 国产精品美女久久久久aⅴ国产馆| 91精品欧美福利在线观看| 色婷婷综合视频在线观看|