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


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>
            亚洲国产精品久久久久婷婷884 | 欧美成人免费大片| 亚洲少妇最新在线视频| 韩国三级电影一区二区| 狠狠色丁香婷婷综合| 亚洲第一精品夜夜躁人人躁| 亚洲第一福利视频| 亚洲欧洲视频在线| 亚洲社区在线观看| 久久久噜噜噜久久| 欧美激情在线有限公司| 一本久久青青| 性欧美长视频| 欧美精品在线极品| 国产精品视频xxx| 一区福利视频| 亚洲一区二区不卡免费| 久久九九免费| 亚洲免费观看高清完整版在线观看| 亚洲视频你懂的| 免费在线观看精品| 国产麻豆成人精品| 亚洲精品精选| 欧美在线你懂的| 亚洲激情第一区| 亚洲免费黄色| 久久久国产精品一区二区中文| 欧美人与性禽动交情品| 国产一区二区激情| 一本大道av伊人久久综合| 久久精品视频在线免费观看| 亚洲国产婷婷| 久久国产精品72免费观看| 欧美成熟视频| 久久久久久久999| 99精品国产一区二区青青牛奶| 亚洲午夜精品在线| 亚洲第一精品夜夜躁人人躁| 亚洲在线观看| 欧美另类一区| 18成人免费观看视频| 香蕉成人伊视频在线观看| 欧美激情精品久久久久久蜜臀| 午夜精品亚洲| 国产伦精品一区二区三区照片91| av成人激情| 亚洲日本精品国产第一区| 久久色在线观看| 国产亚洲精品久久久久婷婷瑜伽| 日韩视频在线你懂得| 免费成人av| 久久久欧美一区二区| 国产一区二区看久久| 亚洲欧美中文日韩v在线观看| 亚洲乱码精品一二三四区日韩在线 | 日韩视频一区二区| 欧美激情国产精品| 亚洲裸体俱乐部裸体舞表演av| 久久久久国产精品www| 亚洲一区精品电影| 国产女人水真多18毛片18精品视频| 日韩午夜电影在线观看| 亚洲第一精品夜夜躁人人躁 | 欧美肥婆在线| 亚洲精品国产欧美| 亚洲激情六月丁香| 欧美日韩精品一二三区| 日韩亚洲综合在线| 亚洲美女毛片| 国产精品嫩草影院av蜜臀| 性欧美办公室18xxxxhd| 欧美一区二区高清在线观看| 国户精品久久久久久久久久久不卡 | 国产欧美一区二区视频| 久久国产精品久久精品国产| 午夜视频久久久| 国产在线欧美| 欧美激情一区| 欧美日本免费一区二区三区| 亚洲一二三区精品| 欧美在线在线| 99re66热这里只有精品4| 亚洲视频每日更新| 一区二区三区自拍| 亚洲精品你懂的| 欧美自拍偷拍| 另类天堂av| 亚洲第一精品电影| 日韩视频永久免费观看| 国产伦精品一区二区三区四区免费| 久久琪琪电影院| 欧美另类极品videosbest最新版本 | 老色批av在线精品| 欧美日韩国产综合一区二区| 羞羞答答国产精品www一本| 亚洲欧洲av一区二区三区久久| 黑人极品videos精品欧美裸| 欧美激情一区在线| 国产美女精品视频| 亚洲国产日韩欧美一区二区三区| 国产精品久久久久久久久免费| 久久婷婷激情| 欧美片第1页综合| 久久不射2019中文字幕| 欧美成人久久| 久久精品久久综合| 欧美另类专区| 你懂的成人av| 国产亚洲a∨片在线观看| 亚洲高清不卡一区| 国产在线欧美日韩| 亚洲字幕在线观看| 夜夜嗨av一区二区三区免费区| 欧美一级视频一区二区| 一本一本久久a久久精品牛牛影视| 欧美一区二区三区免费视| 亚洲特级片在线| 欧美精品在线极品| 亚洲激情视频网站| 亚洲人成网站影音先锋播放| 欧美在线网址| 浪潮色综合久久天堂| 国产亚洲成年网址在线观看| 99精品欧美一区二区蜜桃免费| 一区二区三区中文在线观看| 午夜免费电影一区在线观看| 亚洲一本大道在线| 欧美视频在线观看一区| 亚洲人体1000| 亚洲理论电影网| 欧美成人午夜免费视在线看片| 久久综合久久综合九色| 国产视频在线观看一区| 亚洲免费在线观看| 香蕉免费一区二区三区在线观看| 欧美特黄一级大片| 夜夜夜久久久| 午夜精品久久久久久久99水蜜桃| 欧美日韩免费在线观看| 亚洲精品你懂的| 日韩一级欧洲| 欧美午夜不卡视频| 亚洲亚洲精品在线观看| 性做久久久久久久久| 国产一区二区毛片| 久久综合九色综合网站| 老司机久久99久久精品播放免费| 激情综合电影网| 久久亚洲综合色一区二区三区| 久久精品国产免费| 亚洲精品裸体| 亚洲毛片在线免费观看| 欧美激情亚洲| 国产精品99久久久久久久vr| 亚洲午夜视频在线| 国产午夜精品在线| 久久综合久久美利坚合众国| 亚洲二区精品| 亚洲欧美日韩综合国产aⅴ| 国产美女精品| 嫩模写真一区二区三区三州| 亚洲精品一二三| 欧美在线视频观看免费网站| 伊人久久婷婷色综合98网| 欧美韩国一区| 亚洲欧美日韩国产一区二区| 久久久久久久一区二区三区| 亚洲第一福利视频| 欧美午夜精品一区| 久久狠狠婷婷| 99精品久久久| 老司机久久99久久精品播放免费 | 亚洲国产精品成人一区二区 | 亚洲精品日产精品乱码不卡| 午夜亚洲福利| 亚洲精品乱码久久久久久| 欧美日韩一区精品| 久久久久一区二区三区四区| 亚洲欧洲日本专区| 久久久久一区| 亚洲自拍偷拍麻豆| 亚洲精品久久7777| 狠狠色综合网| 国产精品成人观看视频免费| 久久福利精品| 亚洲一区制服诱惑| 亚洲三级影院| 欧美电影资源| 麻豆精品视频在线观看| 性欧美xxxx视频在线观看| 99视频在线观看一区三区| 国产午夜精品全部视频在线播放 | 亚洲视频在线看| 亚洲人成人99网站| 激情成人av| 国产欧美一区二区色老头| 欧美日韩中文在线| 欧美精品色一区二区三区| 久久成人精品一区二区三区| 夜夜夜精品看看|