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

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

?? graph.c

?? UC_GUI開發源代碼,里面含有范例,源文件
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*
*********************************************************************************************************
*                                             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        : GRAPH.c
Purpose     : Implementation of GRAPH widget
---------------------------END-OF-HEADER------------------------------
*/

#include <string.h>

#include "GRAPH_Private.h"

#if GUI_WINSUPPORT

/*********************************************************************
*
*       Private config defaults
*
**********************************************************************
*/
#ifndef   GRAPH_BKCOLOR_DEFAULT
  #define GRAPH_BKCOLOR_DEFAULT GUI_BLACK
#endif
#ifndef   GRAPH_BORDERCOLOR_DEFAULT
  #define GRAPH_BORDERCOLOR_DEFAULT 0xc0c0c0
#endif
#ifndef   GRAPH_FRAMECOLOR_DEFAULT
  #define GRAPH_FRAMECOLOR_DEFAULT GUI_WHITE
#endif
#ifndef   GRAPH_GRIDCOLOR_DEFAULT
  #define GRAPH_GRIDCOLOR_DEFAULT GUI_DARKGRAY
#endif
#ifndef   GRAPH_GRIDSPACING_X_DEFAULT
  #define GRAPH_GRIDSPACING_X_DEFAULT 50
#endif
#ifndef   GRAPH_GRIDSPACING_Y_DEFAULT
  #define GRAPH_GRIDSPACING_Y_DEFAULT 50
#endif
#ifndef   GRAPH_BORDER_L_DEFAULT
  #define GRAPH_BORDER_L_DEFAULT 0
#endif
#ifndef   GRAPH_BORDER_T_DEFAULT
  #define GRAPH_BORDER_T_DEFAULT 0
#endif
#ifndef   GRAPH_BORDER_R_DEFAULT
  #define GRAPH_BORDER_R_DEFAULT 0
#endif
#ifndef   GRAPH_BORDER_B_DEFAULT
  #define GRAPH_BORDER_B_DEFAULT 0
#endif

/*********************************************************************
*
*       Static data
*
**********************************************************************
*/
GRAPH_PROPS GRAPH__DefaultProps = {
  GRAPH_BKCOLOR_DEFAULT,
  GRAPH_BORDERCOLOR_DEFAULT,
  GRAPH_FRAMECOLOR_DEFAULT,
  GRAPH_GRIDCOLOR_DEFAULT,
  GRAPH_GRIDSPACING_X_DEFAULT,
  GRAPH_GRIDSPACING_Y_DEFAULT,
  GRAPH_BORDER_L_DEFAULT,
  GRAPH_BORDER_T_DEFAULT,
  GRAPH_BORDER_R_DEFAULT,
  GRAPH_BORDER_B_DEFAULT,
};

/*********************************************************************
*
*       Static routines
*
**********************************************************************
*/
/*********************************************************************
*
*       _DrawGrid
*/
static void _DrawGrid(GRAPH_OBJ * pObj, GRAPH_Handle hObj, unsigned BorderL, unsigned BorderT, unsigned BorderR, unsigned BorderB) {
  GUI_RECT Rect;
  U8 LineStyleOld;
  int i, xSize, ySize, xSpace, ySpace, EffectSize;
  WM_GetInsideRectExScrollbar(hObj, &Rect);
  EffectSize = pObj->Widget.pEffect->EffectSize;
  xSpace = pObj->Props.GridSpacingX;
  ySpace = pObj->Props.GridSpacingY;
  xSize = Rect.x1 - Rect.x0 + 1 - BorderL - BorderR;
  ySize = Rect.y1 - Rect.y0 + 1 - BorderT - BorderB;
  GUI_SetColor(pObj->Props.aColor[GRAPH_CI_GRID]);
  LineStyleOld = GUI_GetLineStyle();
  if (xSpace) {
    int FirstPosX;
    FirstPosX = xSpace + pObj->Props.GridOffX + ((pObj->Flags & GRAPH_CF_GRID_FIXED_X) ? 0 : pObj->ScrollStateH.v);
    while (FirstPosX >= xSpace) FirstPosX -= xSpace;
    GUI_SetLineStyle(pObj->LineStyleV);
    for (i = FirstPosX; i < xSize; i += xSpace) {
      int x, y0, y1;
      x  = i + BorderL + EffectSize;
      y0 = Rect.y0 + BorderT;
      y1 = Rect.y1 - BorderB;
      if (pObj->LineStyleV != GUI_LS_SOLID) {
        GUI_DrawLine(x, y0, x, y1);
      } else {
        GUI_DrawVLine(x, y0, y1);
      }
    }
  }
  if (ySpace) {
    int FirstPosY;
    FirstPosY = ySpace + pObj->Props.GridOffY - pObj->ScrollStateV.v;
    while (FirstPosY >= ySpace) FirstPosY -= ySpace;
    GUI_SetLineStyle(pObj->LineStyleH);
    for (i = FirstPosY; i < ySize; i += ySpace) {
      int y, x0, x1;
      y  = Rect.y1 - BorderB - i;
      x0 = Rect.x0 + BorderL;
      x1 = Rect.x1 - BorderR;
      if (pObj->LineStyleH != GUI_LS_SOLID) {
        GUI_DrawLine(x0, y, x1, y);
      } else {
        GUI_DrawHLine(y, x0, x1);
      }
    }
  }
  GUI_SetLineStyle(LineStyleOld);
}

/*********************************************************************
*
*       _DrawBorder
*/
static void _DrawBorder(GRAPH_OBJ * pObj, GRAPH_Handle hObj, unsigned BorderL, unsigned BorderT, unsigned BorderR, unsigned BorderB, GUI_RECT * pRectInvalid) {
  if (BorderL || BorderT || BorderR || BorderB) {
    int OrgX, OrgY, x0, y0, x1, y1, x0_Clear, y0_Clear, x1_Clear, y1_Clear;
    GUI_RECT Rect;
    int EffectSize;
    EffectSize = pObj->Widget.pEffect->EffectSize;
    WM_GetInsideRectExScrollbar(hObj, &Rect);
    OrgX = WM_GetOrgX();
    OrgY = WM_GetOrgY();
    x0 = Rect.x0 + BorderL;
    y0 = Rect.y0 + BorderT;
    x1 = Rect.x1 - BorderR;
    y1 = Rect.y1 - BorderB;
    GUI_SetBkColor(pObj->Props.aColor[GRAPH_CI_BORDER]);
    GUI_SetColor(pObj->Props.aColor[GRAPH_CI_FRAME]);
    if (BorderL) {
      x1_Clear = BorderL - 1 + EffectSize;
      if ((pRectInvalid->x0 - OrgX) <= x1_Clear) {
        x0_Clear = Rect.x0;
        y0_Clear = BorderT + EffectSize;
        y1_Clear = Rect.y1 - BorderB + 1;
        GUI_ClearRect(x0_Clear, y0_Clear, x1_Clear, y1_Clear);
        GUI_DrawVLine(x0 - 1, y0 - 1, y1 + 1);
      }
    }
    if (BorderT) {
      y1_Clear = BorderT - 1 + EffectSize;
      if ((pRectInvalid->y0 - OrgY) <= y1_Clear) {
        x0_Clear = Rect.x0;
        y0_Clear = Rect.y0;
        x1_Clear = Rect.x1;
        GUI_ClearRect(x0_Clear, y0_Clear, x1_Clear, y1_Clear);
        GUI_DrawHLine(y0 - 1, x0 - 1, x1 + 1);
      }
    }
    if (BorderR) {
      x0_Clear = Rect.x1 - BorderR + 1;
      if ((pRectInvalid->x1 - OrgX) >= x0_Clear) {
        y0_Clear = BorderT + EffectSize;
        x1_Clear = Rect.x1;
        y1_Clear = Rect.y1 - BorderB + 1;
        GUI_ClearRect(x0_Clear, y0_Clear, x1_Clear, y1_Clear);
        GUI_DrawVLine(x1 + 1, y0 - 1, y1 + 1);
      }
    }
    if (BorderB) {
      y0_Clear = Rect.y1 - BorderB + 1;
      if ((pRectInvalid->y1 - OrgY) >= y0_Clear) {
        x0_Clear = Rect.x0;
        x1_Clear = Rect.x1;
        y1_Clear = Rect.y1;
        GUI_ClearRect(x0_Clear, y0_Clear, x1_Clear, y1_Clear);
        GUI_DrawHLine(y1 + 1, x0 - 1, x1 + 1);
      }
    }
  }
}

/*********************************************************************
*
*       _GetParams
*/
static void _GetParams(GRAPH_OBJ * pObj, unsigned * pBorderL, unsigned * pBorderT, unsigned * pBorderR, unsigned * pBorderB, unsigned * pEffectSize) {
  *pBorderL    = pObj->Props.BorderL;
  *pBorderT    = pObj->Props.BorderT;
  *pBorderR    = pObj->Props.BorderR;
  *pBorderB    = pObj->Props.BorderB;
  *pEffectSize = pObj->Widget.pEffect->EffectSize;
}

/*********************************************************************
*
*       _OnPaint
*/
static void _OnPaint(GRAPH_OBJ * pObj, GRAPH_Handle hObj, GUI_RECT * pRectInvalid) {
  unsigned BorderL, BorderT, BorderR, BorderB, EffectSize, i, NumItems;
  GUI_RECT RectClient, Rect;
  _GetParams(pObj, &BorderL, &BorderT, &BorderR, &BorderB, &EffectSize);
  WM_GetClientRect(&RectClient);
  WIDGET__EFFECT_DrawDownRect(&pObj->Widget, &RectClient);
  Rect = RectClient;
  Rect.y0 += BorderT + EffectSize;
  Rect.y1 -= BorderB + EffectSize;
  Rect.x0 += BorderL + EffectSize;
  Rect.x1 -= BorderR + EffectSize;
  WM_SetUserClipRect(&Rect);
  GUI_SetBkColor(pObj->Props.aColor[GRAPH_CI_BK]);
  GUI_Clear();
  if (pObj->pUserDraw) {
    pObj->pUserDraw(hObj, GRAPH_DRAW_FIRST);
  }
  if (pObj->ShowGrid) {
    _DrawGrid(pObj, hObj, BorderL, BorderT, BorderR, BorderB);
  }
  NumItems = pObj->GraphArray.NumItems;
  for (i = 0; i < NumItems; i++) {
    WM_HMEM hMem;
    WM_HMEM * phMem;
    hMem  = GUI_ARRAY_GethItem(&pObj->GraphArray, i); /* Handle of array item */
    phMem = (WM_HMEM *)GUI_ALLOC_h2p(hMem);                      /* Pointer to handle */
    if (phMem) {
      GRAPH_DATA_Handle hDataObj;
      GRAPH_DATA_OBJ *  pDataObj;
      hDataObj = *(WM_HMEM *)phMem;
      pDataObj = (GRAPH_DATA_OBJ *)GUI_ALLOC_h2p(hDataObj);
      if (pDataObj) {
        pDataObj->PaintObj.pfOnPaint(hDataObj, pRectInvalid);
      }
    }
  }
  GUI__ReduceRect(&Rect, &RectClient, EffectSize);
  WM_SetUserClipRect(&Rect);
  _DrawBorder(pObj, hObj, BorderL, BorderT, BorderR, BorderB, pRectInvalid);
  NumItems = pObj->ScaleArray.NumItems;
  for (i = 0; i < NumItems; i++) {
    WM_HMEM hMem;
    WM_HMEM * phMem;
    hMem  = GUI_ARRAY_GethItem(&pObj->ScaleArray, i); /* Handle of array item */
    phMem = (WM_HMEM *)GUI_ALLOC_h2p(hMem);                      /* Pointer to handle */
    if (phMem) {
      GRAPH_SCALE_Handle hScaleObj;
      GRAPH_SCALE_OBJ *  pScaleObj;
      hScaleObj = *(WM_HMEM *)phMem;
      pScaleObj = (GRAPH_SCALE_OBJ *)GUI_ALLOC_h2p(hScaleObj);
      if (pScaleObj) {
        pScaleObj->PaintObj.pfOnPaint(hScaleObj, pRectInvalid);
      }
    }
  }
  WM_SetUserClipRect(0);
  if (pObj->pUserDraw) {
    pObj->pUserDraw(hObj, GRAPH_DRAW_LAST);
  }
}

/*********************************************************************
*
*       _OnDelete
*/
static void _OnDelete(GRAPH_OBJ * pObj) {
  int i, NumItems;
  NumItems = pObj->GraphArray.NumItems;
  for (i = 0; i < NumItems; i++) {
    WM_HMEM hMem;
    WM_HMEM * phMem;
    hMem  = GUI_ARRAY_GethItem(&pObj->GraphArray, i); /* Handle of array item */
    phMem = (WM_HMEM *)GUI_ALLOC_h2p(hMem);                      /* Pointer to handle */
    if (phMem) {
      GRAPH_DATA_Handle hDataObj;
      GRAPH_DATA_OBJ *  pDataObj;
      hDataObj = *(WM_HMEM *)phMem;
      pDataObj = (GRAPH_DATA_OBJ *)GUI_ALLOC_h2p(hDataObj);
      if (pDataObj) {
        pDataObj->PaintObj.pfOnDelete(hDataObj);
      }
      GUI_ALLOC_Free(hDataObj);
    }
  }
  NumItems = pObj->ScaleArray.NumItems;
  for (i = 0; i < NumItems; i++) {
    WM_HMEM hMem;
    WM_HMEM * phMem;
    hMem  = GUI_ARRAY_GethItem(&pObj->ScaleArray, i); /* Handle of array item */
    phMem = (WM_HMEM *)GUI_ALLOC_h2p(hMem);                      /* Pointer to handle */
    if (phMem) {
      GRAPH_SCALE_Handle hScaleObj;
      hScaleObj = *(WM_HMEM *)phMem;
      GUI_ALLOC_Free(hScaleObj);
    }
  }
  GUI_ARRAY_Delete(&pObj->GraphArray);
  GUI_ARRAY_Delete(&pObj->ScaleArray);
}

/*********************************************************************
*
*       _InvalidateGraph
*/
static void _InvalidateGraph(GRAPH_Handle hObj) {
  unsigned BorderL, BorderT, BorderR, BorderB, EffectSize;
  GUI_RECT Rect;
  GRAPH_OBJ * pObj;
  pObj = GRAPH_H2P(hObj);
  _GetParams(pObj, &BorderL, &BorderT, &BorderR, &BorderB, &EffectSize);
  WM_GetInsideRectExScrollbar(hObj, &Rect);
  Rect.x0 += BorderL;
  Rect.y0 += BorderT;
  Rect.x1 -= BorderR;
  Rect.y1 -= BorderB;
  WM_InvalidateRect(hObj, &Rect);
}

/*********************************************************************
*
*       _ManageScrollBars
*/
static void _ManageScrollBars(GRAPH_OBJ * pObj, GRAPH_Handle hObj) {
  int IsRequired, PageSize;
  GUI_RECT Rect;
  unsigned BorderL, BorderT, BorderR, BorderB, EffectSize;
  WM_GetInsideRectExScrollbar(hObj, &Rect);
  _GetParams(pObj, &BorderL, &BorderT, &BorderR, &BorderB, &EffectSize);
  PageSize   = Rect.y1 - Rect.y0 - BorderT - BorderB;
  IsRequired = ((int)pObj->RangeY > PageSize) ? 1 : 0;
  WM_SetScrollbarV(hObj, IsRequired);
  pObj->ScrollStateV.NumItems = pObj->RangeY;
  pObj->ScrollStateV.PageSize = PageSize;
  PageSize   = Rect.x1 - Rect.x0 - BorderL - BorderR;
  IsRequired = ((int)pObj->RangeX > PageSize) ? 1 : 0;
  WM_SetScrollbarH(hObj, IsRequired);
  pObj->ScrollStateH.NumItems = pObj->RangeX;
  pObj->ScrollStateH.PageSize = PageSize;
  WM_CheckScrollBounds(&pObj->ScrollStateV);
  WM_CheckScrollBounds(&pObj->ScrollStateH);
  WIDGET__SetScrollState(hObj, &pObj->ScrollStateV, &pObj->ScrollStateH);
}

/*********************************************************************
*
*       _SetGridOffY
*/
static unsigned _SetGridOffY(GRAPH_OBJ * pObj, GRAPH_Handle hObj, unsigned Value) {
  unsigned OldValue = 0;
  if (pObj) {
    OldValue = pObj->Props.GridOffY;
    if (pObj->Props.GridOffY != Value) {
      pObj->Props.GridOffY = Value;
      _InvalidateGraph(hObj);
    }
  }
  return OldValue;
}

/*********************************************************************
*
*       _OnScrollValueChanged
*/
static void _OnScrollValueChanged(GRAPH_OBJ * pObj, GRAPH_Handle hObj, WM_HWIN hScroll) {
  int Value, Id;
  Value = SCROLLBAR_GetValue(hScroll);
  Id = WM_GetId(hScroll);
  if (Id == GUI_ID_VSCROLL) {
    pObj->ScrollStateV.v = Value;
  } else {
    pObj->ScrollStateH.v = Value;
  }
  WM_InvalidateWindow(hObj);
}

/*********************************************************************
*
*       Private routines
*
**********************************************************************
*/
/*********************************************************************
*
*       GRAPH_h2p
*/
#if GUI_DEBUG_LEVEL >= GUI_DEBUG_LEVEL_CHECK_ALL
GRAPH_OBJ * GRAPH_h2p(GRAPH_Handle h) {
  GRAPH_OBJ * p = (GRAPH_OBJ *)GUI_ALLOC_h2p(h);
  if (p) {
    if (p->DebugId != GRAPH_ID) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产首页在线观看| 亚洲柠檬福利资源导航| 依依成人综合视频| 精一区二区三区| 欧洲在线/亚洲| 国产清纯在线一区二区www| 亚洲成av人**亚洲成av**| 成a人片亚洲日本久久| 日韩午夜精品视频| 亚洲一区中文日韩| av在线这里只有精品| 精品99999| 日韩中文字幕一区二区三区| 91国产视频在线观看| 国产精品女上位| 国产一区二区三区电影在线观看 | 6080午夜不卡| 成人欧美一区二区三区黑人麻豆 | 国产精品乱子久久久久| 美女国产一区二区三区| 欧美日韩国产大片| 亚洲一区二区三区四区的| 色综合天天在线| 国产精品久久久久久妇女6080 | 久久福利资源站| 91精品国产福利在线观看 | 久久国产精品99久久人人澡| 欧美人动与zoxxxx乱| 亚洲在线视频网站| 在线视频欧美精品| 亚洲超碰精品一区二区| 欧美日韩国产天堂| 麻豆精品在线播放| www国产亚洲精品久久麻豆| 国产真实乱偷精品视频免| 久久综合狠狠综合久久激情| 国产主播一区二区| 国产精品三级视频| av亚洲产国偷v产偷v自拍| 亚洲精品美腿丝袜| 欧美日韩国产一级二级| 久久成人免费网| 国产午夜亚洲精品羞羞网站| 成人免费观看视频| 夜夜爽夜夜爽精品视频| 欧美日韩一区高清| 久久99久久久欧美国产| 久久精品夜色噜噜亚洲aⅴ| 成人午夜电影小说| 亚洲在线成人精品| 3d动漫精品啪啪一区二区竹菊| 蜜臀久久99精品久久久久宅男| 精品国产一区a| 99国产一区二区三精品乱码| 亚洲一区二区影院| 精品精品国产高清一毛片一天堂| 国产成人鲁色资源国产91色综 | 日本aⅴ亚洲精品中文乱码| 精品理论电影在线| 不卡一区二区中文字幕| 亚洲国产精品一区二区www| 精品福利一区二区三区| 成人久久视频在线观看| 亚洲3atv精品一区二区三区| 欧美精品一区二区久久婷婷| 91女厕偷拍女厕偷拍高清| 日本亚洲电影天堂| 中文字幕欧美一| 7777精品伊人久久久大香线蕉| 国产乱对白刺激视频不卡| 亚洲激情中文1区| 26uuu久久天堂性欧美| 91免费看视频| 国产麻豆精品95视频| 亚洲国产精品一区二区久久| 国产清纯美女被跳蛋高潮一区二区久久w| 色8久久精品久久久久久蜜| 蜜桃视频在线观看一区二区| 亚洲视频一区二区在线| 久久综合九色综合欧美就去吻| 91啪亚洲精品| 国产不卡在线一区| 蜜桃av噜噜一区二区三区小说| 一区二区三区中文字幕| 国产午夜亚洲精品午夜鲁丝片 | 欧美三级中文字幕在线观看| 国内欧美视频一区二区| 亚洲电影在线免费观看| 国产精品久久久久国产精品日日| 91精品国产91热久久久做人人| 99国产一区二区三精品乱码| 国产精一品亚洲二区在线视频| 婷婷一区二区三区| 亚洲精品你懂的| 日韩毛片精品高清免费| 国产无遮挡一区二区三区毛片日本 | 欧美日韩成人一区| 成人动漫av在线| 国产999精品久久久久久| 国内欧美视频一区二区| 美国av一区二区| 日韩精品色哟哟| 丝瓜av网站精品一区二区| 亚洲精品国产视频| 最新成人av在线| 亚洲四区在线观看| 亚洲视频一区在线观看| 成人欧美一区二区三区1314| 久久精品人人做人人综合| 久久综合九色综合久久久精品综合 | 欧美性高清videossexo| 91小视频免费看| 91国产视频在线观看| 在线观看www91| 欧美日韩的一区二区| 欧美日韩高清在线| 6080午夜不卡| 欧美va在线播放| 26uuu国产日韩综合| 久久综合久久鬼色中文字| 久久久国产一区二区三区四区小说| 久久一区二区视频| 国产亚洲欧洲一区高清在线观看| 国产欧美日韩在线| 亚洲男人的天堂av| 亚洲高清在线精品| 奇米影视一区二区三区| 国产一区二区0| 成人av资源在线| 色综合 综合色| 91精品国产色综合久久不卡电影 | 日韩毛片在线免费观看| 亚洲综合色丁香婷婷六月图片| 亚洲高清在线精品| 久久www免费人成看片高清| 国产麻豆视频精品| 在线看日本不卡| 精品国产乱码久久久久久图片 | 在线精品亚洲一区二区不卡| 欧美日韩在线播放三区四区| 日韩精品一区二区三区中文精品 | 99久精品国产| 欧美唯美清纯偷拍| 亚洲精品在线观| 中文字幕亚洲一区二区va在线| 亚洲综合丝袜美腿| 蜜臀va亚洲va欧美va天堂| 成人久久视频在线观看| 欧美福利电影网| 欧美国产亚洲另类动漫| 亚洲va国产天堂va久久en| 国产在线精品一区二区三区不卡| 99久久精品国产网站| 91精品国产综合久久久久久久久久| 26uuu国产在线精品一区二区| 亚洲精品国产成人久久av盗摄| 日韩成人av影视| a在线播放不卡| 精品国产乱码久久久久久浪潮| 亚洲精品中文在线| 国产一区二区三区最好精华液| 色综合久久久久| 久久蜜桃av一区二区天堂| 亚洲综合激情网| 懂色av一区二区在线播放| 欧美老肥妇做.爰bbww| 国产精品午夜电影| 麻豆高清免费国产一区| 色婷婷精品大视频在线蜜桃视频 | 91精品国产一区二区三区蜜臀| 国产精品毛片久久久久久| 天天综合网天天综合色| 不卡的电影网站| 久久色.com| 日本 国产 欧美色综合| 欧美三级视频在线观看| 亚洲欧洲无码一区二区三区| 国产乱色国产精品免费视频| 在线不卡中文字幕| 亚洲影院理伦片| 色婷婷激情综合| 1区2区3区国产精品| 韩日欧美一区二区三区| 日韩一级免费一区| 日韩中文字幕区一区有砖一区 | 久久黄色级2电影| 777久久久精品| 亚洲国产日韩在线一区模特| 99re亚洲国产精品| 国产精品久99| aaa国产一区| 亚洲图片欧美激情| 91精彩视频在线观看| 亚洲天堂久久久久久久| 97国产一区二区| 一区精品在线播放| 91国偷自产一区二区三区成为亚洲经典| 国产精品麻豆久久久| 成人av在线网站| 国产精品久久久久aaaa樱花|