青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品


HBITMAP CButtonST::CreateBitmapMask(HBITMAP hSourceBitmap, DWORD dwWidth, DWORD dwHeight, COLORREF crTransColor)
{
    HBITMAP        hMask        
= NULL;
    HDC            hdcSrc        
= NULL;
    HDC            hdcDest        
= NULL;
    HBITMAP        hbmSrcT        
= NULL;
    HBITMAP        hbmDestT    
= NULL;
    COLORREF    crSaveBk;
    COLORREF    crSaveDestText;

    hMask 
= ::CreateBitmap(dwWidth, dwHeight, 11, NULL);
    
if (hMask == NULL)    return NULL;

    hdcSrc    
= ::CreateCompatibleDC(NULL);
    hdcDest    
= ::CreateCompatibleDC(NULL);

    hbmSrcT 
= (HBITMAP)::SelectObject(hdcSrc, hSourceBitmap);
    hbmDestT 
= (HBITMAP)::SelectObject(hdcDest, hMask);

    crSaveBk 
= ::SetBkColor(hdcSrc, crTransColor);

    ::BitBlt(hdcDest, 
00, dwWidth, dwHeight, hdcSrc, 00, SRCCOPY);

    crSaveDestText 
= ::SetTextColor(hdcSrc, RGB(255255255));
    ::SetBkColor(hdcSrc,RGB(
000));

    ::BitBlt(hdcSrc, 
00, dwWidth, dwHeight, hdcDest, 00, SRCAND);

    SetTextColor(hdcDest, crSaveDestText);

    ::SetBkColor(hdcSrc, crSaveBk);
    ::SelectObject(hdcSrc, hbmSrcT);
    ::SelectObject(hdcDest, hbmDestT);

    ::DeleteDC(hdcSrc);
    ::DeleteDC(hdcDest);

    
return hMask;
}
 // End of CreateBitmapMask

//
// Parameters:
//        [IN]    bHasTitle
//                TRUE if the button has a text
//        [IN]    rpItem
//                A pointer to a RECT structure indicating the allowed paint area
//        [IN/OUT]rpTitle
//                A pointer to a CRect object indicating the paint area reserved for the
//                text. This structure will be modified if necessary.
//        [IN]    bIsPressed
//                TRUE if the button is currently pressed
//        [IN]    dwWidth
//                Width of the image (icon or bitmap)
//        [IN]    dwHeight
//                Height of the image (icon or bitmap)
//        [OUT]    rpImage
//                A pointer to a CRect object that will receive the area available to the image
//
void CButtonST::PrepareImageRect(BOOL bHasTitle, RECT* rpItem, CRect* rpTitle, BOOL bIsPressed, DWORD dwWidth, DWORD dwHeight, CRect* rpImage)
{
    CRect rBtn;

    rpImage
->CopyRect(rpItem);

    
switch (m_byAlign)
    
{
        
case ST_ALIGN_HORIZ:
            
if (bHasTitle == FALSE)
            
{
                
// Center image horizontally
                rpImage->left += ((rpImage->Width() - (long)dwWidth)/2);
            }

            
else
            
{
                
// Image must be placed just inside the focus rect
                rpImage->left += m_ptImageOrg.x;  
                rpTitle
->left += dwWidth + m_ptImageOrg.x;
            }

            
// Center image vertically
            rpImage->top += ((rpImage->Height() - (long)dwHeight)/2);
            
break;

        
case ST_ALIGN_HORIZ_RIGHT:
            GetClientRect(
&rBtn);
            
if (bHasTitle == FALSE)
            
{
                
// Center image horizontally
                rpImage->left += ((rpImage->Width() - (long)dwWidth)/2);
            }

            
else
            
{
                
// Image must be placed just inside the focus rect
                rpTitle->right = rpTitle->Width() - dwWidth - m_ptImageOrg.x;
                rpTitle
->left = m_ptImageOrg.x;
                rpImage
->left = rBtn.right - dwWidth - m_ptImageOrg.x;
                
// Center image vertically
                rpImage->top += ((rpImage->Height() - (long)dwHeight)/2);
            }

            
break;
        
        
case ST_ALIGN_VERT:
            
// Center image horizontally
            rpImage->left += ((rpImage->Width() - (long)dwWidth)/2);
            
if (bHasTitle == FALSE)
            
{
                
// Center image vertically
                rpImage->top += ((rpImage->Height() - (long)dwHeight)/2);           
            }

            
else
            
{
                rpImage
->top = m_ptImageOrg.y;
                rpTitle
->top += dwHeight;
            }

            
break;

        
case ST_ALIGN_OVERLAP:
            
break;
    }
 // switch
    
    
// If button is pressed then press image also
    if (bIsPressed && m_bIsCheckBox == FALSE)
        rpImage
->OffsetRect(m_ptPressedOffset.x, m_ptPressedOffset.y);
}
 // End of PrepareImageRect

void CButtonST::DrawTheIcon(CDC* pDC, BOOL bHasTitle, RECT* rpItem, CRect* rpCaption, BOOL bIsPressed, BOOL bIsDisabled)
{
    BYTE        byIndex        
= 0;

    
// Select the icon to use
    if ((m_bIsCheckBox && bIsPressed) || (!m_bIsCheckBox && (bIsPressed || m_bMouseOnButton)))
        byIndex 
= 0;
    
else
        byIndex 
= (m_csIcons[1].hIcon == NULL ? 0 : 1);

    CRect    rImage;
    PrepareImageRect(bHasTitle, rpItem, rpCaption, bIsPressed, m_csIcons[byIndex].dwWidth, m_csIcons[byIndex].dwHeight, 
&rImage);

    
// Ole'!
    pDC->DrawState(    rImage.TopLeft(),
                    rImage.Size(), 
                    m_csIcons[byIndex].hIcon,
                    (bIsDisabled 
? DSS_DISABLED : DSS_NORMAL), 
                    (CBrush
*)NULL);
}
 // End of DrawTheIcon

void CButtonST::DrawTheBitmap(CDC* pDC, BOOL bHasTitle, RECT* rpItem, CRect* rpCaption, BOOL bIsPressed, BOOL bIsDisabled)
{
    HDC            hdcBmpMem    
= NULL;
    HBITMAP        hbmOldBmp    
= NULL;
    HDC            hdcMem        
= NULL;
    HBITMAP        hbmT        
= NULL;

    BYTE        byIndex        
= 0;

    
// Select the bitmap to use
    if ((m_bIsCheckBox && bIsPressed) || (!m_bIsCheckBox && (bIsPressed || m_bMouseOnButton)))
        byIndex 
= 0;
    
else
        byIndex 
= (m_csBitmaps[1].hBitmap == NULL ? 0 : 1);

    CRect    rImage;
    PrepareImageRect(bHasTitle, rpItem, rpCaption, bIsPressed, m_csBitmaps[byIndex].dwWidth, m_csBitmaps[byIndex].dwHeight, 
&rImage);

    hdcBmpMem 
= ::CreateCompatibleDC(pDC->m_hDC);

    hbmOldBmp 
= (HBITMAP)::SelectObject(hdcBmpMem, m_csBitmaps[byIndex].hBitmap);

    hdcMem 
= ::CreateCompatibleDC(NULL);

    hbmT 
= (HBITMAP)::SelectObject(hdcMem, m_csBitmaps[byIndex].hMask);

    
if (bIsDisabled && m_bShowDisabledBitmap)
    
{
        HDC        hDC 
= NULL;
        HBITMAP    hBitmap 
= NULL;

        hDC 
= ::CreateCompatibleDC(pDC->m_hDC);
        hBitmap 
= ::CreateCompatibleBitmap(pDC->m_hDC, m_csBitmaps[byIndex].dwWidth, m_csBitmaps[byIndex].dwHeight);
        HBITMAP    hOldBmp2 
= (HBITMAP)::SelectObject(hDC, hBitmap);

        RECT    rRect;
        rRect.left 
= 0;
        rRect.top 
= 0;
        rRect.right 
= rImage.right + 1;
        rRect.bottom 
= rImage.bottom + 1;
        ::FillRect(hDC, 
&rRect, (HBRUSH)RGB(255255255));

        COLORREF crOldColor 
= ::SetBkColor(hDC, RGB(255,255,255));

        ::BitBlt(hDC, 
00, m_csBitmaps[byIndex].dwWidth, m_csBitmaps[byIndex].dwHeight, hdcMem, 00, SRCAND);
        ::BitBlt(hDC, 
00, m_csBitmaps[byIndex].dwWidth, m_csBitmaps[byIndex].dwHeight, hdcBmpMem, 00, SRCPAINT);

        ::SetBkColor(hDC, crOldColor);
        ::SelectObject(hDC, hOldBmp2);
        ::DeleteDC(hDC);

        pDC
->DrawState(    CPoint(rImage.left/*+1*/, rImage.top), 
                        CSize(m_csBitmaps[byIndex].dwWidth, m_csBitmaps[byIndex].dwHeight), 
                        hBitmap, DST_BITMAP 
| DSS_DISABLED);

        ::DeleteObject(hBitmap);
    }
 // if
    else
    
{
        ::BitBlt(pDC
->m_hDC, rImage.left, rImage.top, m_csBitmaps[byIndex].dwWidth, m_csBitmaps[byIndex].dwHeight, hdcMem, 00, SRCAND);

        ::BitBlt(pDC
->m_hDC, rImage.left, rImage.top, m_csBitmaps[byIndex].dwWidth, m_csBitmaps[byIndex].dwHeight, hdcBmpMem, 00, SRCPAINT);
    }
 // else

    ::SelectObject(hdcMem, hbmT);
    ::DeleteDC(hdcMem);

    ::SelectObject(hdcBmpMem, hbmOldBmp);
    ::DeleteDC(hdcBmpMem);
}
 // End of DrawTheBitmap

void CButtonST::DrawTheText(CDC* pDC, LPCTSTR lpszText, RECT* rpItem, CRect* rpCaption, BOOL bIsPressed, BOOL bIsDisabled)
{
    
// Draw the button's title
    
// If button is pressed then "press" title also
    if (m_bIsPressed && m_bIsCheckBox == FALSE)
        rpCaption
->OffsetRect(m_ptPressedOffset.x, m_ptPressedOffset.y);

    
// ONLY FOR DEBUG 
    
//CBrush brBtnShadow(RGB(255, 0, 0));
    
//pDC->FrameRect(rCaption, &brBtnShadow);

    
// Center text
    CRect centerRect = rpCaption;
    pDC
->DrawText(lpszText, -1, rpCaption, DT_WORDBREAK | DT_CENTER | DT_CALCRECT);
    rpCaption
->OffsetRect((centerRect.Width() - rpCaption->Width())/2, (centerRect.Height() - rpCaption->Height())/2);
    
/* RFU
    rpCaption->OffsetRect(0, (centerRect.Height() - rpCaption->Height())/2);
    rpCaption->OffsetRect((centerRect.Width() - rpCaption->Width())-4, (centerRect.Height() - rpCaption->Height())/2);
    
*/


    pDC
->SetBkMode(TRANSPARENT);
    
/*
    pDC->DrawState(rCaption->TopLeft(), rCaption->Size(), (LPCTSTR)sTitle, (bIsDisabled ? DSS_DISABLED : DSS_NORMAL), 
                    TRUE, 0, (CBrush*)NULL);
    
*/

    
if (m_bIsDisabled)
    
{
        rpCaption
->OffsetRect(11);
        pDC
->SetTextColor(::GetSysColor(COLOR_3DHILIGHT));
        pDC
->DrawText(lpszText, -1, rpCaption, DT_WORDBREAK | DT_CENTER);
        rpCaption
->OffsetRect(-1-1);
        pDC
->SetTextColor(::GetSysColor(COLOR_3DSHADOW));
        pDC
->DrawText(lpszText, -1, rpCaption, DT_WORDBREAK | DT_CENTER);
    }
 // if
    else
    
{
        
if (m_bMouseOnButton || m_bIsPressed) 
        
{
            pDC
->SetTextColor(m_crColors[BTNST_COLOR_FG_IN]);
            pDC
->SetBkColor(m_crColors[BTNST_COLOR_BK_IN]);
        }
 // if
        else 
        
{
            
if (m_bIsFocused)
            

                pDC
->SetTextColor(m_crColors[BTNST_COLOR_FG_FOCUS]); 
                pDC
->SetBkColor(m_crColors[BTNST_COLOR_BK_FOCUS]); 
            }
 // if
            else 
            
{
                pDC
->SetTextColor(m_crColors[BTNST_COLOR_FG_OUT]); 
                pDC
->SetBkColor(m_crColors[BTNST_COLOR_BK_OUT]); 
            }
 // else
        }
 // else
        pDC->DrawText(lpszText, -1, rpCaption, DT_WORDBREAK | DT_CENTER);
    }
 // if
}
 // End of DrawTheText

// This function creates a grayscale bitmap starting from a given bitmap.
// The resulting bitmap will have the same size of the original one.
//
// Parameters:
//        [IN]    hBitmap
//                Handle to the original bitmap.
//        [IN]    dwWidth
//                Specifies the bitmap width, in pixels.
//        [IN]    dwHeight
//                Specifies the bitmap height, in pixels.
//        [IN]    crTrans
//                Color to be used as transparent color. This color will be left unchanged.
//
// Return value:
//        If the function succeeds, the return value is the handle to the newly created
//        grayscale bitmap.
//        If the function fails, the return value is NULL.
//
HBITMAP CButtonST::CreateGrayscaleBitmap(HBITMAP hBitmap, DWORD dwWidth, DWORD dwHeight, COLORREF crTrans)
{
    HBITMAP        hGrayBitmap 
= NULL;
    HDC            hMainDC 
= NULL, hMemDC1 = NULL, hMemDC2 = NULL;
    HBITMAP        hOldBmp1 
= NULL, hOldBmp2 = NULL;

    hMainDC 
= ::GetDC(NULL);
    
if (hMainDC == NULL)    return NULL;
    hMemDC1 
= ::CreateCompatibleDC(hMainDC);
    
if (hMemDC1 == NULL)
    
{
        ::ReleaseDC(NULL, hMainDC);
        
return NULL;
    }
 // if
    hMemDC2 = ::CreateCompatibleDC(hMainDC);
    
if (hMemDC2 == NULL)
    
{
        ::DeleteDC(hMemDC1);
        ::ReleaseDC(NULL, hMainDC);
        
return NULL;
    }
 // if

    hGrayBitmap 
= ::CreateCompatibleBitmap(hMainDC, dwWidth, dwHeight);
    
if (hGrayBitmap)
    
{
        hOldBmp1 
= (HBITMAP)::SelectObject(hMemDC1, hGrayBitmap);
        hOldBmp2 
= (HBITMAP)::SelectObject(hMemDC2, hBitmap);

        
//::BitBlt(hMemDC1, 0, 0, dwWidth, dwHeight, hMemDC2, 0, 0, SRCCOPY);

        DWORD        dwLoopY 
= 0, dwLoopX = 0;
        COLORREF    crPixel 
= 0;
        BYTE        byNewPixel 
= 0;

        
for (dwLoopY = 0; dwLoopY < dwHeight; dwLoopY++)
        
{
            
for (dwLoopX = 0; dwLoopX < dwWidth; dwLoopX++)
            
{
                crPixel 
= ::GetPixel(hMemDC2, dwLoopX, dwLoopY);
                byNewPixel 
= (BYTE)((GetRValue(crPixel) * 0.299+ (GetGValue(crPixel) * 0.587+ (GetBValue(crPixel) * 0.114));

                
if (crPixel != crTrans)
                    ::SetPixel(hMemDC1, dwLoopX, dwLoopY, RGB(byNewPixel, byNewPixel, byNewPixel));
                
else
                    ::SetPixel(hMemDC1, dwLoopX, dwLoopY, crPixel);
            }
 // for
        }
 // for

        ::SelectObject(hMemDC1, hOldBmp1);
        ::SelectObject(hMemDC2, hOldBmp2);
    }
 // if

    ::DeleteDC(hMemDC1);
    ::DeleteDC(hMemDC2);
    ::ReleaseDC(NULL, hMainDC);

    
return hGrayBitmap;
}
 // End of CreateGrayscaleBitmap

// This function creates a bitmap that is 25% darker than the original.
// The resulting bitmap will have the same size of the original one.
//
// Parameters:
//        [IN]    hBitmap
//                Handle to the original bitmap.
//        [IN]    dwWidth
//                Specifies the bitmap width, in pixels.
//        [IN]    dwHeight
//                Specifies the bitmap height, in pixels.
//        [IN]    crTrans
//                Color to be used as transparent color. This color will be left unchanged.
//
// Return value:
//        If the function succeeds, the return value is the handle to the newly created
//        darker bitmap.
//        If the function fails, the return value is NULL.
//
HBITMAP CButtonST::CreateDarkerBitmap(HBITMAP hBitmap, DWORD dwWidth, DWORD dwHeight, COLORREF crTrans)
{
    HBITMAP        hGrayBitmap 
= NULL;
    HDC            hMainDC 
= NULL, hMemDC1 = NULL, hMemDC2 = NULL;
    HBITMAP        hOldBmp1 
= NULL, hOldBmp2 = NULL;

    hMainDC 
= ::GetDC(NULL);
    
if (hMainDC == NULL)    return NULL;
    hMemDC1 
= ::CreateCompatibleDC(hMainDC);
    
if (hMemDC1 == NULL)
    
{
        ::ReleaseDC(NULL, hMainDC);
        
return NULL;
    }
 // if
    hMemDC2 = ::CreateCompatibleDC(hMainDC);
    
if (hMemDC2 == NULL)
    
{
        ::DeleteDC(hMemDC1);
        ::ReleaseDC(NULL, hMainDC);
        
return NULL;
    }
 // if

    hGrayBitmap 
= ::CreateCompatibleBitmap(hMainDC, dwWidth, dwHeight);
    
if (hGrayBitmap)
    
{
        hOldBmp1 
= (HBITMAP)::SelectObject(hMemDC1, hGrayBitmap);
        hOldBmp2 
= (HBITMAP)::SelectObject(hMemDC2, hBitmap);

        
//::BitBlt(hMemDC1, 0, 0, dwWidth, dwHeight, hMemDC2, 0, 0, SRCCOPY);

        DWORD        dwLoopY 
= 0, dwLoopX = 0;
        COLORREF    crPixel 
= 0;

        
for (dwLoopY = 0; dwLoopY < dwHeight; dwLoopY++)
        
{
            
for (dwLoopX = 0; dwLoopX < dwWidth; dwLoopX++)
            
{
                crPixel 
= ::GetPixel(hMemDC2, dwLoopX, dwLoopY);

                
if (crPixel != crTrans)
                    ::SetPixel(hMemDC1, dwLoopX, dwLoopY, DarkenColor(crPixel, 
0.25));
                
else
                    ::SetPixel(hMemDC1, dwLoopX, dwLoopY, crPixel);
            }
 // for
        }
 // for

        ::SelectObject(hMemDC1, hOldBmp1);
        ::SelectObject(hMemDC2, hOldBmp2);
    }
 // if

    ::DeleteDC(hMemDC1);
    ::DeleteDC(hMemDC2);
    ::ReleaseDC(NULL, hMainDC);

    
return hGrayBitmap;
}
 // End of CreateDarkerBitmap
Posted on 2007-04-12 11:47 艾凡赫 閱讀(648) 評論(0)  編輯 收藏 引用 所屬分類: MFC技術
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            裸体一区二区| 在线精品福利| 亚洲一级黄色av| 欧美成人性网| 亚洲国产精品激情在线观看| 国户精品久久久久久久久久久不卡 | 亚洲欧美日韩国产成人精品影院| 亚洲精品影视在线观看| 国产精品第一区| 午夜综合激情| 亚洲美女视频网| 久久精品毛片| 亚洲精品在线观看免费| 国产精品系列在线| 老司机久久99久久精品播放免费| 亚洲乱码国产乱码精品精| 欧美一级艳片视频免费观看| 激情伊人五月天久久综合| 欧美日韩在线免费视频| 蜜桃av一区二区| 中文一区在线| 最新国产成人在线观看| 欧美电影免费观看高清完整版| 亚洲欧美成人| 亚洲欧美在线播放| 亚洲作爱视频| 亚洲精品美女久久久久| 激情一区二区| 1000部精品久久久久久久久| 国产一区二区三区不卡在线观看 | 欧美人与禽猛交乱配视频| 亚洲天堂男人| 亚洲一区观看| 一区二区国产日产| 在线观看不卡| 伊大人香蕉综合8在线视| 狠狠色狠狠色综合日日tαg| 国内偷自视频区视频综合| 国产亚洲激情视频在线| 红桃视频国产一区| 亚洲国产三级在线| 一二三区精品福利视频| 亚洲综合社区| 欧美超级免费视 在线| 欧美激情亚洲自拍| 亚洲激情精品| 一区二区免费在线播放| 亚洲欧美成人一区二区在线电影| 欧美一级二区| 欧美成人在线网站| 国产精品乱码久久久久久| 狠狠色狠狠色综合日日tαg | 亚洲精美视频| 亚洲韩日在线| 欧美一区1区三区3区公司| 久久免费视频网站| 欧美岛国激情| 国产精品久久久久久久久借妻 | 国产精品毛片| 国产美女诱惑一区二区| 日韩视频精品在线观看| 久久久久99精品国产片| 亚洲国产精品va在线看黑人动漫 | 一区二区动漫| 一区二区日韩精品| 久久久最新网址| 狠狠色噜噜狠狠狠狠色吗综合| 日韩亚洲一区二区| 一区二区三区导航| 欧美日韩在线视频观看| 亚洲深爱激情| 亚洲美女毛片| 老司机午夜精品| 亚洲国产精品久久久久婷婷884| 亚洲精品视频在线| 国产精品你懂得| 久久av一区二区三区亚洲| 免费不卡在线观看av| 中国女人久久久| 国产欧美日韩视频在线观看| 欧美日本一区二区三区| 亚洲视频一区二区免费在线观看| 免播放器亚洲一区| 亚洲女女做受ⅹxx高潮| 亚洲片在线观看| 一区在线影院| 在线成人av网站| 国产伦精品免费视频| 欧美日本一区| 免费观看成人网| 国产精品入口夜色视频大尺度 | 国产嫩草一区二区三区在线观看 | 国产精品一国产精品k频道56| 亚洲高清精品中出| 欧美超级免费视 在线| 久久久午夜视频| 91久久中文字幕| 亚洲福利视频三区| 免费成人av在线| 日韩一级裸体免费视频| 国模私拍一区二区三区| 久久天天狠狠| 久久久久久一区二区三区| 国内精品一区二区| 你懂的成人av| 欧美暴力喷水在线| 亚洲国产精品久久久久秋霞蜜臀| 欧美成人黑人xx视频免费观看| 久久久久国产精品一区三寸| 激情综合网址| 亚洲黄色片网站| 欧美精品一区二区三区在线看午夜 | 日韩视频亚洲视频| 国产精品国码视频| 亚洲天堂偷拍| 久久一二三区| 久久成年人视频| 欧美体内she精视频| 欧美成人激情视频| 国产欧美一区二区白浆黑人| 亚洲精品网址在线观看| 国产农村妇女毛片精品久久莱园子| 91久久国产自产拍夜夜嗨| 国产永久精品大片wwwapp| 亚洲影院色在线观看免费| 99re66热这里只有精品4| 久久久久久尹人网香蕉| 一区二区三区国产在线| 欧美精品v日韩精品v国产精品| 久久久综合精品| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲视频在线观看三级| 欧美一区二区三区成人| 国产精品美女主播| 久久国产日韩| 久久夜色精品| 欧美激情精品久久久久久免费印度 | aⅴ色国产欧美| 欧美日本国产精品| 欧美影院视频| 久久午夜羞羞影院免费观看| 欧美高清不卡在线| 国产精品美女久久久免费| 中国亚洲黄色| 亚洲国产日韩欧美在线99| 久久免费高清| 亚洲精品乱码| 欧美在线视频日韩| 欧美第一黄色网| 久久午夜国产精品| 亚洲欧美日韩精品在线| 136国产福利精品导航| 宅男噜噜噜66一区二区66| 久久中文字幕导航| 黄色影院成人| 午夜日韩视频| 亚洲国产成人高清精品| 99热在线精品观看| 一区二区视频欧美| 久久精品一区四区| 欧美国产日韩精品| 狠狠v欧美v日韩v亚洲ⅴ| 亚洲欧美精品在线| 制服诱惑一区二区| 欧美手机在线| 午夜视频久久久久久| 久久九九国产| 国产一区二区三区网站| 久久久亚洲精品一区二区三区 | 国产日本欧美在线观看 | 亚洲伦理网站| 亚洲日本成人| 久久精品视频在线观看| 亚洲欧美电影在线观看| 国产午夜精品久久| 久久久久天天天天| 欧美区日韩区| 久久久久久欧美| 欧美精品日韩三级| 亚洲欧美成aⅴ人在线观看| 久久久久久电影| 一本在线高清不卡dvd| 午夜精品久久久久久久99樱桃| 伊大人香蕉综合8在线视| 久久久久一区| 久久影视三级福利片| 一区二区激情| 亚洲美女黄网| 黄色国产精品| 亚洲欧美大片| 亚洲一区二区在线免费观看| 久久精品国产久精国产爱| 国产无一区二区| 亚洲美洲欧洲综合国产一区| 亚洲国产福利在线| 久久激情五月丁香伊人| 99国产精品久久久久老师| 久久婷婷激情| 欧美中文在线视频| 国产精品美女一区二区在线观看|