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

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

?? buttonex.cpp

?? 通過手機數據線連接手機
?? CPP
?? 第 1 頁 / 共 3 頁
字號:

CPoint pt = CPoint( m_ptCentre.x - Extent.cx/2, m_ptCentre.y - Extent.cy/2 );
	if (state & ODS_SELECTED)
		pt.Offset(2,2);
	pDC->SetBkMode(TRANSPARENT);

	if (state & ODS_DISABLED)
	{
		pDC->DrawState(pt, Extent, strText, DSS_DISABLED, TRUE, 0, HBRUSH(NULL) );
	}
	else if( m_3DText )
	{// changed this code to give the text a 3d-look
		pDC->DrawState(pt, Extent, strText, DSS_DISABLED, TRUE, 0, HBRUSH(NULL) );
		pDC->DrawState(pt, Extent, strText, DSS_NORMAL, TRUE, 0, HBRUSH(NULL) );
	}
	else
	{
		pDC->DrawState(pt, Extent, strText, DSS_NORMAL, TRUE, 0, HBRUSH(NULL) );
	}
}

void CBtnEx::DrawFaceIMG(CDC * pDC, UINT state, CRect & rect, int & nRadius )
{
	// draw the bmp
UINT nStyle = GetStyle();
	
IMAGEINFO imgInfo;
int imgCount = m_faceIMG.GetImageCount();
int imgID;
	m_faceIMG.GetImageInfo( 0, &imgInfo );
CRect rcIMG(imgInfo.rcImage);
CPoint pt = CPoint( m_ptCentre.x - rcIMG.Width()/2,
				   m_ptCentre.y - rcIMG.Height()/2 );

	if (state & ODS_DISABLED)
	{
		imgID = 2;
		if( imgCount < 3 )
		{
			imgID = 0;
		}
	}
	else if (state & ODS_SELECTED)
	{
		imgID = 1;
		if( imgCount < 2 )
		{
			pt.Offset(2,2);
			imgID = 0;
		}
	}
	else if( m_bHover )
	{
		imgID = 3;
		if( imgCount < 4 )
		{
			imgID = 0;
		}
	}
	else
	{
		imgID = 0;
	}

	m_faceIMG.Draw( pDC, imgID, pt, ILD_TRANSPARENT );
}

void CBtnEx::DrawBorderOther(CDC * pDC, UINT state, CRect & rect, int & nRadius )
{
}

void CBtnEx::DrawBorderRound(CDC * pDC, UINT state, CRect & rect, int & nRadius )
{
UINT nStyle = GetStyle();

	pDC->SelectStockObject(NULL_BRUSH);

	// Draw the focus circle around the button for non-stretched buttons
	if( (state & ODS_FOCUS)
	 && m_bDrawDashedFocusCircle
	 && !m_bStretch)
	{
		DrawCircle(pDC, m_ptCentre, nRadius--, RGB(0,0,0));
	}

	// Draw the raised/sunken edges of the button (unless flat)
	if (nStyle & BS_FLAT)
	{
		if(m_bStretch)
		{// for stretched buttons: draw left and right arcs and connect the with lines
		CPen* oldpen;
		CRect LeftBound(0,0,nRadius*2,nRadius*2);
		CRect RightBound(m_ptRight.x-nRadius,0,m_ptRight.x+nRadius,nRadius*2);

			oldpen = pDC->SelectObject(new CPen(PS_SOLID, 1, m_clr3dDKShadow));
			pDC->Arc(LeftBound, CPoint(m_ptLeft.x,0), CPoint(m_ptLeft.x,nRadius*2));
			pDC->Arc(RightBound, CPoint(m_ptRight.x,nRadius*2), CPoint(m_ptRight.x,0));
			pDC->MoveTo(m_ptLeft.x,0); pDC->LineTo(m_ptRight.x,0);
			pDC->MoveTo(m_ptLeft.x,nRadius*2-1); pDC->LineTo(m_ptRight.x,nRadius*2-1);

			if( m_nBorder > 1 )
			{
				nRadius--;
				LeftBound.DeflateRect(1,1);
				RightBound.DeflateRect(1,1);

				delete pDC->SelectObject(new CPen(PS_SOLID, 1, m_clr3dHighLight));
				pDC->Arc(LeftBound, CPoint(m_ptLeft.x,1), CPoint(m_ptLeft.x,nRadius*2));
				pDC->Arc(RightBound, CPoint(m_ptRight.x,nRadius*2), CPoint(m_ptRight.x,0));
				pDC->MoveTo(m_ptLeft.x,1); pDC->LineTo(m_ptRight.x,1);
				pDC->MoveTo(m_ptLeft.x,nRadius*2); pDC->LineTo(m_ptRight.x,nRadius*2);
			}

			delete pDC->SelectObject(oldpen);
		}
		else
		{// for non-stretched buttons: draw two circles
			DrawCircle(pDC, m_ptCentre, nRadius--, m_clr3dDKShadow);
			if( m_nBorder > 1 )
			{
				DrawCircle(pDC, m_ptCentre, nRadius--, m_clr3dHighLight);
			}
		}
	}
	else
	{
		if ((state & ODS_SELECTED))
		{// draw the circular segments for stretched AND non-stretched buttons
			DrawCircleLeft(pDC, m_ptLeft, nRadius, 
					   m_clr3dDKShadow,
					   m_clr3dHighLight);
			DrawCircleRight(pDC, m_ptRight, nRadius, 
					   m_clr3dDKShadow,
					   m_clr3dHighLight);
			if( m_nBorder > 1 )
			{
				DrawCircleLeft(pDC, m_ptLeft, nRadius-1, 
					   m_clr3dShadow,
					   m_clr3dLight);
				DrawCircleRight(pDC, m_ptRight, nRadius-1, 
					   m_clr3dShadow,
					   m_clr3dLight);
			}

			if (m_bStretch)
			{// draw connecting lines for stretched buttons only
				CPen* oldpen;

				oldpen = pDC->SelectObject(new CPen(PS_SOLID, 1, m_clr3dDKShadow));
				pDC->MoveTo(m_ptLeft.x, 1); pDC->LineTo(m_ptRight.x, 1);
				delete pDC->SelectObject(new CPen(PS_SOLID, 1, m_clr3dHighLight));
				pDC->MoveTo(m_ptLeft.x, m_ptLeft.y + nRadius); pDC->LineTo(m_ptRight.x, m_ptLeft.y + nRadius);

				if( m_nBorder > 1 )
				{
					delete pDC->SelectObject(new CPen(PS_SOLID, 1, m_clr3dShadow));
					pDC->MoveTo(m_ptLeft.x, 2);	pDC->LineTo(m_ptRight.x, 2);
					delete pDC->SelectObject(new CPen(PS_SOLID, 1, m_clr3dLight));
					pDC->MoveTo(m_ptLeft.x, m_ptLeft.y + nRadius-1); pDC->LineTo(m_ptRight.x, m_ptLeft.y + nRadius-1);
				}

				delete pDC->SelectObject(oldpen);
			}
		}
		else
		{// draw the circular segments for stretched AND non-stretched buttons
			DrawCircleLeft(pDC, m_ptLeft, nRadius, 
					   m_clr3dHighLight,
					   m_clr3dDKShadow);
			DrawCircleRight(pDC, m_ptRight, nRadius, 
					   m_clr3dHighLight,
					   m_clr3dDKShadow);
			if( m_nBorder > 1 )
			{
				DrawCircleLeft(pDC, m_ptLeft, nRadius - 1, 
					   m_clr3dLight,
					   m_clr3dShadow);
				DrawCircleRight(pDC, m_ptRight, nRadius - 1, 
					   m_clr3dLight,
					   m_clr3dShadow);
			}

			if (m_bStretch)
			{// draw connecting lines for stretched buttons only
				CPen* oldpen;

				oldpen = pDC->SelectObject(new CPen(PS_SOLID, 1, pDC->GetPixel(m_ptLeft.x, 1)));
				pDC->MoveTo(m_ptLeft.x, 1); pDC->LineTo(m_ptRight.x, 1);
				delete pDC->SelectObject(new CPen(PS_SOLID, 1, pDC->GetPixel(m_ptLeft.x, m_ptLeft.y + nRadius - 1)));
				pDC->MoveTo(m_ptLeft.x, m_ptLeft.y + nRadius - 1); pDC->LineTo(m_ptRight.x, m_ptLeft.y + nRadius - 1);

				if( m_nBorder > 1 )
				{
					delete pDC->SelectObject(new CPen(PS_SOLID, 1, pDC->GetPixel(m_ptLeft.x, 2)));
					pDC->MoveTo(m_ptLeft.x, 2); pDC->LineTo(m_ptRight.x, 2);
					delete pDC->SelectObject(new CPen(PS_SOLID, 1, pDC->GetPixel(m_ptLeft.x, m_ptLeft.y + nRadius)));
					pDC->MoveTo(m_ptLeft.x, m_ptLeft.y + nRadius); pDC->LineTo(m_ptRight.x, m_ptLeft.y + nRadius);
				}

				delete pDC->SelectObject(oldpen);
			}
		}
	}
	// Draw the focus circle on the inside of the button if it is non-stretched
	if ((state & ODS_FOCUS) && m_bDrawDashedFocusCircle && !m_bStretch)
		DrawCircle(pDC, m_ptCentre, nRadius-2, RGB(0,0,0), TRUE);
}

void CBtnEx::DrawBorderRect(CDC * pDC, UINT state, CRect & rect, int & nRadius )
{
	pDC->SelectStockObject(NULL_BRUSH);

	if ((state & ODS_SELECTED))
	{
		pDC->Draw3dRect( rect, m_clr3dShadow, m_clr3dHighLight );
		if( m_nBorder > 1 )
		{
			rect.DeflateRect(1,1);
			pDC->Draw3dRect( rect, m_clr3dDKShadow, m_clr3dLight );
		}
	}
	else
	{
		pDC->Draw3dRect( rect, m_clr3dHighLight, m_clr3dDKShadow );
		if( m_nBorder > 1 )
		{
			rect.DeflateRect(1,1);
			pDC->Draw3dRect( rect, m_clr3dLight, m_clr3dShadow );
		}
	}
}

BOOL CBtnEx::OnEraseBkgnd(CDC* pDC) 
{
	if( m_bgTransparent )
		return TRUE;
	pDC->SelectClipRgn(&m_rgn);
BOOL re = CButton::OnEraseBkgnd(pDC);
	pDC->SelectClipRgn(NULL);
	return re;
}


/////////////////////////////////////////////////////////////////////////////
// CBtnRgn

CBtnRgn::CBtnRgn()
{
	m_bmp3DBorder = TRUE;

	m_pattern = patternOther;
}

CBtnRgn::~CBtnRgn()
{
}

BEGIN_MESSAGE_MAP(CBtnRgn, CBtnEx)
	//{{AFX_MSG_MAP(CBtnRgn)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CBtnRgn message handlers

BOOL CBtnRgn::Create(LPCTSTR lpszCaption, DWORD dwStyle,
					 const CPoint point, CRgn & rgn,
					 CWnd* pParentWnd, UINT nID)
{
	// store region in member variable
	m_rgn.DeleteObject();
	m_rgn.CreateRectRgn( 0, 0, 0, 0 );
	m_rgn.CopyRgn( &rgn );

	// make sure that region bounding rect is located in (0, 0)
CRect box(0, 0, 0, 0);
	m_rgn.GetRgnBox( box );
	m_rgn.OffsetRgn( -box.left, -box.top );
	m_rgn.GetRgnBox( box );
	// update position of region center for caption output
	m_ptCentre = box.CenterPoint();

	//設置窗口位置
	box.OffsetRect(point);

	return CButton::Create(lpszCaption, dwStyle, box, pParentWnd, nID);
}

BOOL CBtnRgn::Create(LPCTSTR lpszCaption, DWORD dwStyle,
					 const CPoint point, CRgn & rgn,
					 CWnd* pParentWnd, UINT nID,
					 UINT nBorder,
					 COLORREF nColor, COLORREF sColor,
					 COLORREF hColor, COLORREF dColor)
{
	m_nBorder = nBorder;
	m_clrFaceN = nColor;
	m_clrFaceS = sColor;
	m_clrFaceH = hColor;
	m_clrFaceD = dColor;
	return Create(lpszCaption, dwStyle, point, rgn, pParentWnd, nID );
}

//////////////////////// DRAWING ROUTINES ////////////////////////////

void CBtnRgn::DrawBorderOther(CDC * pDC, UINT state, CRect & rect, int & nRadius )
{
	if( m_faceIMG.GetSafeHandle() != NULL && !m_bmp3DBorder )
	{//當使用BMP,沒有指定使用自繪邊框
		return;
	}
int mBorder = (m_enableFlat) ? MBORDER_FLAT : MBORDER_RISING;
	if( state & ODS_SELECTED )
		mBorder = MBORDER_SUNKEN;
	else if( m_bHover )
		mBorder = MBORDER_RISING;
	FrameRgn3D( *pDC, m_rgn, mBorder );
}

void CBtnRgn::FrameRgn3D(HDC hDC, const HRGN hRgn, int mBorder)
{
// we need two differenr regions to keep base region and border region
HBRUSH hBrush;
HRGN hBaseRgn = CreateRectRgn(0, 0, 0, 0);
COLORREF ltOuter, ltInner, rbOuter, rbInner;	// colors of inner and outer shadow for top-left and right-bottom corners

	// decide on color scheme
	switch( mBorder )
	{
	case MBORDER_RISING:
		ltOuter = m_clr3dLight;
		ltInner = m_clr3dHighLight;
		rbOuter = m_clr3dDKShadow;
		rbInner = m_clr3dShadow;
		break;
	case MBORDER_SUNKEN:
		rbInner = m_clr3dLight;
		rbOuter = m_clr3dHighLight;
		ltInner = m_clr3dDKShadow;
		ltOuter = m_clr3dShadow;
		break;
	case MBORDER_FLAT:
	default:
		return;
	}

	// offset highlight and shadow regions
	// substract them from the base region 
	switch (m_nBorder)
	{
	case 2:
		CombineRgn(hBaseRgn, hRgn, 0, RGN_COPY);
		OffsetRgn(hBaseRgn, 2, 2);
		CombineRgn(hBaseRgn, hRgn, hBaseRgn, RGN_DIFF);
		hBrush = CreateSolidBrush(ltInner);
		FillRgn(hDC, hBaseRgn, hBrush);
		DeleteObject(hBrush);

		CombineRgn(hBaseRgn, hRgn, 0, RGN_COPY);
		OffsetRgn(hBaseRgn, -2, -2);
		CombineRgn(hBaseRgn, hRgn, hBaseRgn, RGN_DIFF);
		hBrush = CreateSolidBrush(rbInner);
		FillRgn(hDC, hBaseRgn, hBrush);
		DeleteObject(hBrush);

		CombineRgn(hBaseRgn, hRgn, 0, RGN_COPY);
		OffsetRgn(hBaseRgn, 1, 1);
		CombineRgn(hBaseRgn, hRgn, hBaseRgn, RGN_DIFF);
		hBrush = CreateSolidBrush(ltOuter);
		FillRgn(hDC, hBaseRgn, hBrush);
		DeleteObject(hBrush);

		CombineRgn(hBaseRgn, hRgn, 0, RGN_COPY);
		OffsetRgn(hBaseRgn, -1, -1);
		CombineRgn(hBaseRgn, hRgn, hBaseRgn, RGN_DIFF);
		hBrush = CreateSolidBrush(rbOuter);
		FillRgn(hDC, hBaseRgn, hBrush);
		DeleteObject(hBrush);
		break;
	default:
		CombineRgn(hBaseRgn, hRgn, 0, RGN_COPY);
		OffsetRgn(hBaseRgn, 1, 1);
		CombineRgn(hBaseRgn, hRgn, hBaseRgn, RGN_DIFF);
		hBrush = CreateSolidBrush(ltInner);
		FillRgn(hDC, hBaseRgn, hBrush);
		DeleteObject(hBrush);

		CombineRgn(hBaseRgn, hRgn, 0, RGN_COPY);
		OffsetRgn(hBaseRgn, -1, -1);
		CombineRgn(hBaseRgn, hRgn, hBaseRgn, RGN_DIFF);
		hBrush = CreateSolidBrush(rbOuter);
		FillRgn(hDC, hBaseRgn, hBrush);
		DeleteObject(hBrush);
		break;
	}
	
	// clean up regions
	DeleteObject(hBaseRgn);
}

void CBtnRgn::RgnPixelWork(CDC * pDC, CRgn * pRgn)
{
	// get size of data composing region
	int size = pRgn -> GetRegionData(NULL, 0);
	HANDLE hData = GlobalAlloc(GMEM_MOVEABLE | GMEM_ZEROINIT, size);
	RGNDATA * pData = (RGNDATA *)GlobalLock(hData);

	// retrieve region data
	int res = pRgn -> GetRegionData(pData, size);
	RECT * pRect = (RECT *) pData -> Buffer;

	// now we know how region is represented and we are able to manipulate it as we like
	for (DWORD i = 0; i < pData -> rdh.nCount; i++) {
		RECT rect = *(pRect + i);
		for (int x = rect.left; x < rect.right; x++)
			for (int y = rect.top; y < rect.bottom; y++) {
				// use SetPixel(x, y, color) to do pixel work
			}
	}

	// free region data
	GlobalUnlock(hData);
	GlobalFree(hData);
}

void CBtnRgn::CopyBitmap(CBitmap * bmpD, CBitmap * bmpS, long xOff, long yOff)
{
	bmpD->DeleteObject();

BITMAP bmp;
CDC dcS, dcD;
CBitmap * pS, *pD;
	bmpS->GetBitmap( &bmp );
	bmpD->CreateBitmapIndirect( &bmp );
	dcS.CreateCompatibleDC( NULL );
	dcD.CreateCompatibleDC( NULL );
	pS = dcS.SelectObject( bmpS );
	pD = dcD.SelectObject( bmpD );
	//清空目標位圖
	dcD.FillSolidRect( 0, 0, bmp.bmWidth, bmp.bmHeight, RGB( 0, 0, 0 ) );
	//拷貝位圖
	dcD.BitBlt( xOff, yOff, bmp.bmWidth, bmp.bmHeight, &dcS, 0, 0, SRCCOPY );
	dcS.SelectObject( pS );
	dcD.SelectObject( pD );

/*復制BMP的另一種方法
BITMAP bmp;
	bmpS->GetBitmap( &bmp );
long bmpSize = long(bmp.bmWidthBytes)*long(bmp.bmHeight);
	bmp.bmBits = LPVOID( new char[bmpSize] );
	bmpS->GetBitmapBits( bmpSize, bmp.bmBits );
	bmpD->CreateBitmapIndirect( &bmp );
	delete (char*)bmp.bmBits;
*/
}

BOOL CBtnRgn::SetBMP( CBitmap * pN, CBitmap * pS, CBitmap * pH,
					 CBitmap * pD, COLORREF clrMask, BOOL transparent )
{
	m_faceIMG.DeleteImageList();
	if( pN == NULL )
	{
		return TRUE;
	}

	if( pH == NULL )
	{
		pH = pN;
	}
	if( pD == NULL )
	{
		pD = pN;
	}

CBitmap bmpSelected;
	if( pS == NULL )
	{//將pN平移后放入pS中
		CopyBitmap( &bmpSelected, pN, m_nBorder, m_nBorder );
	}
	else
	{
		CopyBitmap( &bmpSelected, pS );
	}

	if( !transparent )
	{
	CBitmap bmp;
	BITMAP sBMP;
		pN->GetBitmap( &sBMP );
		m_faceIMG.Create( sBMP.bmWidth, sBMP.bmHeight, ILC_COLOR24|ILC_MASK, 0, 1 );
		m_faceIMG.Add( pN, clrMask );
		m_faceIMG.Add( &bmpSelected, clrMask );
		m_faceIMG.Add( pD, clrMask );
		m_faceIMG.Add( pH, clrMask );
	}

CImg2Rgn img2Rgn;
	img2Rgn.m_bmpMaskClr = clrMask;
	img2Rgn.SetBMP( pN );
	return img2Rgn.GetRgn( m_rgn );
}

BOOL CBtnRgn::SetFaceIMG( CBitmap * pBMP, int cx, COLORREF mask)
{
	if( !CBtnEx::SetFaceIMG( pBMP, cx, mask ) )
	{
		return FALSE;
	}

	//構造透明區域的位圖
CBitmap bmpRgn;

	{
	BITMAP sBMP;
	CDC dcS, dcD;
	CBitmap * pS, *pD;

	pBMP->GetBitmap( &sBMP );
	sBMP.bmWidth = cx;
	bmpRgn.CreateBitmapIndirect( &sBMP );
	dcS.CreateCompatibleDC( NULL );
	dcD.CreateCompatibleDC( NULL );
	pS = dcS.SelectObject( pBMP );
	pD = dcD.SelectObject( &bmpRgn );
	//清空目標位圖
	dcD.FillSolidRect( 0, 0, sBMP.bmWidth, sBMP.bmHeight, RGB( 0, 0, 0 ) );
	//拷貝位圖
	dcD.BitBlt( 0, 0, sBMP.bmWidth, sBMP.bmHeight, &dcS, 0, 0, SRCCOPY );
	dcS.SelectObject( pS );
	dcD.SelectObject( pD );
	}

CImg2Rgn img2Rgn;
	img2Rgn.m_bmpMaskClr = mask;
	img2Rgn.SetBMP( &bmpRgn );
	return img2Rgn.GetRgn( m_rgn );
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区.www| 97se狠狠狠综合亚洲狠狠| 99麻豆久久久国产精品免费| 精品免费视频一区二区| 青青草97国产精品免费观看 | 五月天亚洲精品| 91成人网在线| 日本va欧美va瓶| 久久综合九色综合97婷婷女人| 奇米色一区二区| 久久精品这里都是精品| 国产91丝袜在线播放| 中文一区在线播放| 欧美日韩一区视频| 麻豆传媒一区二区三区| 久久久精品国产免费观看同学| 粉嫩高潮美女一区二区三区| 激情国产一区二区| 精品久久国产字幕高潮| 成人动漫一区二区| 亚洲电影在线免费观看| 制服.丝袜.亚洲.中文.综合| 日韩一区精品字幕| 国产精品免费免费| 欧美精品一二三四| 国产乱一区二区| 亚洲福利视频一区二区| 久久亚洲精华国产精华液| 在线观看日韩高清av| 国产精品一色哟哟哟| 亚洲第一二三四区| 国产欧美视频在线观看| 在线播放一区二区三区| 丁香天五香天堂综合| 日本不卡一区二区三区| 亚洲精品成人悠悠色影视| 国产亚洲美州欧州综合国| 欧美日韩精品一区二区三区四区 | 在线成人免费观看| 国产a久久麻豆| 国产乱码一区二区三区| 天天操天天干天天综合网| 亚洲与欧洲av电影| 亚洲三级免费电影| 亚洲图片欧美激情| 国产精品美女久久久久久| 国产亚洲精品资源在线26u| 日韩亚洲国产中文字幕欧美| 欧美一区二区三区视频| 日韩一区二区在线免费观看| 91精品一区二区三区在线观看| 欧美三级日韩三级| 欧美日韩成人综合天天影院| 在线观看一区不卡| 欧美日韩一区二区三区视频| 9191精品国产综合久久久久久| 在线播放中文字幕一区| 91麻豆精品国产91久久久资源速度 | 国产精品一区二区久激情瑜伽| 久久精品av麻豆的观看方式| 韩国av一区二区三区在线观看| 国产福利电影一区二区三区| 国产91在线看| 欧美欧美欧美欧美| 欧美一二三区在线观看| 国产亚洲综合在线| 亚洲免费在线看| 免费成人在线视频观看| 国产精品亚洲午夜一区二区三区| 99精品国产视频| 欧美一区二区性放荡片| 日本一区二区高清| 亚洲成人av一区二区| 久久久久久影视| 亚洲视频在线一区二区| 极品尤物av久久免费看| 色综合久久中文字幕综合网| 91精品欧美一区二区三区综合在| 久久精品亚洲国产奇米99| 国产精品国产三级国产a | 国产一区二区三区不卡在线观看| 99久久99久久精品免费看蜜桃 | 久久久精品免费免费| 亚洲一区二区三区在线| 99精品欧美一区二区蜜桃免费 | 在线免费观看成人短视频| 久久久久国产免费免费| 奇米888四色在线精品| 欧美日韩一区高清| 一区二区三区国产豹纹内裤在线| 国产suv精品一区二区883| 日韩精品一区二区三区中文不卡| 午夜视频一区二区三区| 欧美日韩在线综合| 亚洲一区二区黄色| 欧美三级中文字幕| 婷婷一区二区三区| 在线不卡一区二区| 美日韩一区二区| 2020国产精品| 国产精品中文字幕一区二区三区| 欧美videos中文字幕| 国产毛片精品视频| 国产午夜精品一区二区三区四区 | 久久99精品久久久久久动态图 | 国产精品久久精品日日| 成人涩涩免费视频| 亚洲美女免费视频| 欧美日韩日日骚| 国产一区二区主播在线| 中文字幕欧美激情| 欧美日韩美女一区二区| 久久99精品国产91久久来源| 中文字幕第一页久久| 一本一道久久a久久精品| 五月婷婷久久综合| 久久久不卡影院| 色天使色偷偷av一区二区| 丝袜国产日韩另类美女| 久久久不卡网国产精品一区| av中文字幕不卡| 久久国产三级精品| 亚洲精品美腿丝袜| 久久免费的精品国产v∧| 色婷婷av一区二区三区软件| 精品午夜一区二区三区在线观看| 亚洲少妇30p| 中文子幕无线码一区tr| 欧美美女一区二区在线观看| 成人高清伦理免费影院在线观看| 亚洲成人av一区二区| 亚洲日本在线观看| 久久久久国产精品麻豆| 精品日韩欧美一区二区| 91久久奴性调教| 91污在线观看| 成人中文字幕在线| 国产精品一线二线三线精华| 青青草国产精品97视觉盛宴| 亚洲一区二区高清| 亚洲一区二区三区中文字幕 | 色婷婷综合久色| eeuss鲁片一区二区三区在线看| 国产激情一区二区三区| 国产美女久久久久| 国产在线一区观看| 久久99精品久久久久久| 精品一区二区国语对白| 看电视剧不卡顿的网站| 美女性感视频久久| 麻豆成人久久精品二区三区小说| 日本sm残虐另类| 精品一区二区三区香蕉蜜桃| 韩国av一区二区三区在线观看| 麻豆国产精品官网| 国产高清久久久久| av亚洲产国偷v产偷v自拍| 色综合色综合色综合色综合色综合 | 国产精品天美传媒沈樵| 亚洲精品免费看| 日韩精品电影在线观看| 国产一区二区三区四| 成人h版在线观看| 欧美日本乱大交xxxxx| 日韩精品一区二区三区在线播放| 国产日韩欧美高清| 一区二区久久久久久| 国内偷窥港台综合视频在线播放| aaa亚洲精品| 亚洲精品在线观| 亚洲综合丁香婷婷六月香| 久久99国产乱子伦精品免费| 不卡一卡二卡三乱码免费网站| 欧美日韩卡一卡二| 一色屋精品亚洲香蕉网站| 男女视频一区二区| 色视频成人在线观看免| 国产女主播一区| 麻豆久久久久久| 欧美自拍丝袜亚洲| 国产精品久久久久久久裸模| 久久99热这里只有精品| 欧美伊人久久大香线蕉综合69| 久久久亚洲国产美女国产盗摄 | 亚洲香蕉伊在人在线观| 国产成人在线观看| 精品少妇一区二区三区| 一区二区三区产品免费精品久久75| 国产精品一区二区在线看| 日韩一区二区三区四区| 日本不卡的三区四区五区| 欧美亚日韩国产aⅴ精品中极品| 国产精品黄色在线观看| 成人黄页在线观看| 国产精品丝袜一区| 成人黄色av电影| 国产精品超碰97尤物18| 在线视频你懂得一区二区三区| 亚洲视频1区2区| 欧美亚洲综合一区|