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

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

?? gfxoutbarctrl.cpp

?? 上傳個小程序:?。眩蚜奶斐绦?
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
// Copyright (c) Iuri Apollonio 1998
// Use & modify as you want & need, and leave those 3 lines.
// http://www.codeguru.com


// GfxOutBarCtrl.cpp : implementation file
//

#include "stdafx.h"
#include "resource.h"//"OutWAts1.h"
#include "GfxOutBarCtrl.h"
#include "GfxGroupEdit.h"

#include "GfxPopupMenu.h"


#define _ID_GFX_SMALLICON	"小圖標方式"
#define _ID_GFX_LARGEICON	"大圖標方式"
//#define _ID_GFX_CHANGEGROUP	"移入黑名單"
//#define _ID_GFX_CHANGFRIEND "加為好友"
//#define _ID_GFX_ADDAGROUP   "添加組"
//#define _ID_GFX_FONTCOLOR   "改變字體顏色"
//#define _ID_GFX_BACKCOLOR   "改變背景顏色"
//#define _ID_GFX_REMOVEITEM	"從該組中刪除"
#define _ID_GFX_RENAMEITEM	"改名"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CGfxOutBarCtrl

IMPLEMENT_DYNCREATE(CGfxOutBarCtrl, CWnd)

CGfxOutBarCtrl::CGfxOutBarCtrl()
{
	crBackGroundColor = GetSysColor(COLOR_BACKGROUND);//RGB(0,128,128);//
	crBackGroundColor1 = GetSysColor(COLOR_BACKGROUND);
	crTextColor = GetSysColor(COLOR_WINDOW);
	cr3dFace = GetSysColor(COLOR_3DFACE);
	crLightBorder = GetSysColor(COLOR_3DLIGHT);
	crHilightBorder = GetSysColor(COLOR_3DHILIGHT);
	crShadowBorder = GetSysColor(COLOR_3DSHADOW);
	crDkShadowBorder = GetSysColor(COLOR_3DDKSHADOW);

	pBlackPen = new CPen(PS_SOLID, 1, RGB(0,0,0));

	iFolderHeight = 22;

	dwFlags = fDragItems|fEditGroups|fEditItems|fRemoveGroups|fRemoveItems|fAddGroups|fAnimation|fSelHighlight;

	iSelFolder = 0;

	iLastFolderHighlighted = -1;
	iLastSelectedFolder = -1;
	
	pLargeImageList = NULL;
	pSmallImageList = NULL;

	iFirstItem = 0;

	xSmallIconLabelOffset = 4;
	yLargeIconLabelOffset = 3;

	ySmallIconSpacing = 10;
	yLargeIconSpacing = 8;

	xLeftMargin = 5;
	yTopMargin = 5;

	bUpArrow = bDownArrow = false;

	hHandCursor = AfxGetApp()->LoadCursor(IDC_HANDCUR);
	rcUpArrow = rcDownArrow = CRect(0,0,0,0);

	bUpPressed = bDownPressed = false;

	bLooping = false;

	iLastItemHighlighted = -1;
	bPressedHighlight = false;

	iLastDragItemDraw = -1;

	lAnimationTickCount = 10;

	hDragCursor = AfxGetApp()->LoadCursor(IDC_DRAGGING);
	hNoDragCursor = AfxGetApp()->LoadCursor(IDC_NODRAGGING);

	iLastSel = -1;
	iSelAnimCount = 0;

	iSelAnimTiming = 0;
}

CGfxOutBarCtrl::~CGfxOutBarCtrl()
{
	for (int t = 0; t < arFolder.GetSize(); t++)
	{
		if (arFolder.GetAt(t)) delete (CBarFolder*) arFolder.GetAt(t);
	}

	arFolder.RemoveAll();

	delete pBlackPen;
}


BEGIN_MESSAGE_MAP(CGfxOutBarCtrl, CWnd)
	//{{AFX_MSG_MAP(CGfxOutBarCtrl)
	ON_WM_CREATE()
	ON_WM_TIMER()
	ON_WM_PAINT()
	ON_WM_ERASEBKGND()
	ON_WM_MOUSEMOVE()
	ON_WM_LBUTTONDOWN()
	ON_WM_LBUTTONDBLCLK()
	ON_WM_SETCURSOR()
	ON_WM_SIZE()
	ON_WM_RBUTTONDOWN()
	ON_COMMAND(ID_GFX_LARGEICON, OnGfxLargeicon)
	ON_UPDATE_COMMAND_UI(ID_GFX_LARGEICON, OnUpdateGfxLargeicon)
	ON_COMMAND(ID_GFX_SMALLICON, OnGfxSmallicon)
	ON_UPDATE_COMMAND_UI(ID_GFX_SMALLICON, OnUpdateGfxSmallicon)
//	ON_COMMAND(ID_GFX_REMOVEITEM, OnGfxRemoveitem)
//	ON_UPDATE_COMMAND_UI(ID_GFX_REMOVEITEM, OnUpdateGfxRemoveitem)
	ON_COMMAND(ID_GFX_CHANGGROUP, OnGfxChangegroup)
	ON_COMMAND(ID_GFX_CHANGFRIEND, OnGfxChangefriend)
	ON_COMMAND(ID_GFX_RENAMEITEM, OnGfxRenameitem)
	ON_UPDATE_COMMAND_UI(ID_GFX_RENAMEITEM, OnUpdateGfxRenameitem)
	//}}AFX_MSG_MAP
	ON_MESSAGE(WM_OUTBAR_NOTIFY, OnEndLabelEdit)
END_MESSAGE_MAP()


/////////////////////////////////////////////////////////////////////////////
// CGfxOutBarCtrl message handlers

long CGfxOutBarCtrl::OnEndLabelEdit(WPARAM wParam, LPARAM lParam)
{
	if (wParam == NM_OB_ONGROUPENDEDIT)
	{
		CGfxGroupEdit * pEdit = (CGfxGroupEdit *) lParam;
		OUTBAR_INFO ob;
		ob.index = pEdit->iIndex;
		ob.cText = pEdit->text;

		if (GetOwner()->SendMessage(WM_OUTBAR_NOTIFY, NM_OB_ONGROUPENDEDIT, (LPARAM) &ob))
		{
			SetFolderText(pEdit->iIndex, pEdit->text);
			CRect rc;
			GetFolderRect(pEdit->iIndex, rc);
			InvalidateRect(rc, false);
		}
	}
	if (wParam == NM_OB_ONLABELENDEDIT)
	{
		CGfxGroupEdit * pEdit = (CGfxGroupEdit *) lParam;
		OUTBAR_INFO ob;
		ob.index = pEdit->iIndex;
		ob.cText = pEdit->text;

		if (GetOwner()->SendMessage(WM_OUTBAR_NOTIFY, NM_OB_ONLABELENDEDIT, (LPARAM) &ob))
		{
			SetItemText(pEdit->iIndex, pEdit->text);
			CRect rc;
			GetInsideRect(rc);
			InvalidateRect(rc, true);
		}
	}
	return 0;
}

void CGfxOutBarCtrl::SetFolderText(const int index, const char * text)
{
	ASSERT(index >= 0 && index < GetFolderCount());
	CBarFolder * pbf = (CBarFolder *) arFolder.GetAt(index);
	if (pbf->cName) 
	{
		delete [] pbf->cName;
		pbf->cName = NULL;
	}
	pbf->cName = new char [lstrlen(text)+1];
	lstrcpy(pbf->cName, text);
}

void CGfxOutBarCtrl::SetItemText(const int index, const char * text)
{
	ASSERT(iSelFolder >= 0 && iSelFolder < GetFolderCount());
	CBarFolder * pbf = (CBarFolder *) arFolder.GetAt(iSelFolder);
	CBarItem * pi = (CBarItem *) pbf->arItems.GetAt(index);
	if (pi->cItem) 
	{
		delete [] pi->cItem;
		pi->cItem = NULL;
	}
	pi->cItem = new char [lstrlen(text)+1];
	lstrcpy(pi->cItem, text);
}

BOOL CGfxOutBarCtrl::Create(DWORD dwStyle, const RECT & rect, CWnd * pParentWnd, UINT nID, const DWORD dwFlag)
{
	dwFlags = dwFlag;
	return CWnd::CreateEx(WS_EX_STATICEDGE, NULL, NULL, dwStyle|WS_CHILD, rect, pParentWnd, nID);
	//GFXOUTBARCTRL_CLASSNAME
}

bool CGfxOutBarCtrl::IsSmallIconView() const
{
	return dwFlags&fSmallIcon;
}

void CGfxOutBarCtrl::SetSmallIconView(const bool bSet)
{
	iFirstItem = 0;

	if (bSet)
	{
		if (!IsSmallIconView()) 
		{
			dwFlags |= fSmallIcon;
			CRect rc;
			GetInsideRect(rc);
			InvalidateRect(rc, false);
		}
	}
	else
	{
		if (IsSmallIconView()) 
		{
			dwFlags &= ~fSmallIcon;
			CRect rc;
			GetInsideRect(rc);
			InvalidateRect(rc, false);
		}
	}
}

DWORD CGfxOutBarCtrl::GetFlag() const
{
	return dwFlags;
}

void CGfxOutBarCtrl::ModifyFlag(const DWORD & dwRemove, const DWORD & dwAdd, const UINT redraw)
{
	if (dwRemove)	dwFlags &= ~(dwRemove);
	if (dwAdd)		dwFlags |= dwAdd;

	if (GetSafeHwnd())
	{
		if (redraw != 0) SetWindowPos(0,0,0,0,0,SWP_NOZORDER|SWP_NOSIZE|SWP_NOMOVE|redraw);
		else Invalidate();
	}
}

int CGfxOutBarCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CWnd::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	// TODO: Add your specialized creation code here
	
	return 0;
}

void CGfxOutBarCtrl::OnTimer(UINT nIDEvent) 
{

	CWnd::OnTimer(nIDEvent);
}

void CGfxOutBarCtrl::DrawAnimItem(const int xoffset, const int yoffset, const int index)
{
	CImageList * ima = GetFolderImageList(iSelFolder, IsSmallIconView());

	CRect rc, irc;
	GetInsideRect(irc);
	//GetItemRect(iSelFolder, iLastSel, rc);
	GetItemRect(iSelFolder, index, rc);

	//if (iLastSel >= iFirstItem && irc.bottom > rc.bottom && irc.top < rc.top)
	if (index >= iFirstItem && irc.bottom > rc.bottom && irc.top < rc.top)
	{
		ASSERT(iSelFolder >= 0 && iSelFolder < GetFolderCount());
		CBarFolder * pbf = (CBarFolder *) arFolder.GetAt(iSelFolder);

		ASSERT(index >= 0 && index < pbf->GetItemCount());
		CBarItem * pi = (CBarItem *) pbf->arItems.GetAt(index);

		ASSERT(pi && ima);

		CClientDC dc(this);

		if (IsSmallIconView())
		{
			if (ima)
			{
				IMAGEINFO ii;
				ima->GetImageInfo(pi->iImageIndex, &ii);
				CSize szImage = CRect(ii.rcImage).Size();
				CPoint pt;
				pt.x = rc.left + 2;
				pt.y = rc.top + (rc.Height() - szImage.cy) / 2;

				CRect rcBck(pt.x-1, pt.y-1, pt.x + szImage.cx+2, pt.y + szImage.cy+2);
				dc.FillSolidRect(rcBck, crBackGroundColor);

				pt.x += xoffset;
				pt.y += yoffset;

				ima->Draw(&dc, pi->iImageIndex, pt, ILD_NORMAL);

			}
		}
		else
		{
			if (ima)
			{
				IMAGEINFO ii;
				ima->GetImageInfo(pi->iImageIndex, &ii);
				CSize szImage = CRect(ii.rcImage).Size();
				CPoint pt;
				pt.x = rc.left + (rc.Width() - szImage.cx) / 2;
				pt.y = rc.top;

				CRect rcBck(pt.x-1, pt.y-1, pt.x + szImage.cx+2, pt.y + szImage.cy+2);
				dc.FillSolidRect(rcBck, crBackGroundColor);

				pt.x += xoffset;
				pt.y += yoffset;

				ima->Draw(&dc, pi->iImageIndex, pt, ILD_NORMAL);
			}
		}
	}
}

void CGfxOutBarCtrl::OnPaint() 
{
	CRect clientRc;
	GetClientRect(&clientRc);
	CPaintDC dc(this);
	CDC memDC;
	memDC.CreateCompatibleDC(&dc);
	CBitmap bmp;
	bmp.CreateCompatibleBitmap(&dc, clientRc.Width(), clientRc.Height());
	CBitmap * obmp = memDC.SelectObject(&bmp);

	CDC * pDC = &memDC;

	CRect rc;
	GetInsideRect(rc);
	if (!GetFolderChild()) pDC->FillSolidRect(rc, crBackGroundColor);


	int max = arFolder.GetSize();
	CRect frc;
	for (int t = 0; t < max; t++)
	{
		GetFolderRect(t, frc);
		DrawFolder(pDC, t, frc, false);
	}
	if (!GetFolderChild())
	{
		int f,l;
		GetVisibleRange(iSelFolder, f,l);
		rcUpArrow.SetRect(0,0,GetSystemMetrics(SM_CXVSCROLL), GetSystemMetrics(SM_CXVSCROLL));
		rcDownArrow = rcUpArrow;
		rcUpArrow.OffsetRect(rc.right - 5 - GetSystemMetrics(SM_CXVSCROLL), rc.top +5);
		rcDownArrow.OffsetRect(rc.right - 5 - GetSystemMetrics(SM_CXVSCROLL), rc.bottom - 5 - GetSystemMetrics(SM_CXVSCROLL));

		if (f > 0)
		{
			if (bUpPressed) pDC->DrawFrameControl(rcUpArrow, DFC_SCROLL, DFCS_SCROLLUP|DFCS_PUSHED);
			else pDC->DrawFrameControl(rcUpArrow, DFC_SCROLL, DFCS_SCROLLUP);
			bUpArrow = true;
			pDC->ExcludeClipRect(rcUpArrow);
		}
		else bUpArrow = false;

		if (l < GetItemCount() - 1)
		{
			if (bDownPressed) pDC->DrawFrameControl(rcDownArrow, DFC_SCROLL, DFCS_SCROLLDOWN|DFCS_PUSHED);
			else pDC->DrawFrameControl(rcDownArrow, DFC_SCROLL, DFCS_SCROLLDOWN);
			bDownArrow = true;
			pDC->ExcludeClipRect(rcDownArrow);
		}
		else bDownArrow = false;

		PaintItems(pDC, iSelFolder, rc);
	}

	dc.BitBlt(clientRc.left, clientRc.top, clientRc.Width(), clientRc.Height(), &memDC, 0,0, SRCCOPY);

	memDC.SelectObject(obmp);

	if (iLastFolderHighlighted >= 0)
	{
		int i = iLastFolderHighlighted;
		iLastFolderHighlighted = -1;
		HighlightFolder(i);
	}
	if (iLastItemHighlighted >= 0)
	{
		int i = iLastItemHighlighted;
		iLastItemHighlighted = -1;
		HighlightItem(i, bPressedHighlight);
	}

}

BOOL CGfxOutBarCtrl::OnEraseBkgnd(CDC* pDC) 
{
	return true;
}

bool CGfxOutBarCtrl::GetFolderRect(const int iIndex, CRect & rect) const
{
	int max = arFolder.GetSize();
	ASSERT(iIndex >= 0 && iIndex < max);

	if (iIndex >= 0 && iIndex < max)
	{
		CRect rc;
		GetClientRect(rc);
		if (iIndex > iSelFolder)
			rect.SetRect(rc.left, rc.bottom - ((max - iIndex)) * iFolderHeight, rc.right, 
			rc.bottom - (max - iIndex - 1) * iFolderHeight);
		else 
			rect.SetRect(rc.left, rc.top + iIndex * iFolderHeight - 1, rc.right, 
			rc.top + (1 + iIndex) * iFolderHeight - 1);
		return true;
	}
	return false;
}

void CGfxOutBarCtrl::GetItemRect(const int iFolder, const int iIndex, CRect & rect)
{
	CRect rc;
	GetInsideRect(rc);
	int top = rc.top;
	CSize sz(0,0);
	int y = 0;
	for (int t = 0; t < iIndex; t++)
	{
		sz = GetItemSize(iFolder, t, ircAll);
		top += sz.cy;

		if (IsSmallIconView()) 
		{
			top += ySmallIconSpacing; 
		}
		else 
		{
			top += yLargeIconSpacing;
		}
		if (t == iFirstItem - 1) y = top - rc.top;
	}
	sz = GetItemSize(iFolder, iIndex, ircAll);
	rect.SetRect(rc.left, top, rc.left + sz.cx, top + sz.cy);

	rect.top -= y;
	rect.bottom -= y;

	rect.left += xLeftMargin;
	rect.top  += yTopMargin;
	rect.bottom += yTopMargin;

	if (!IsSmallIconView()) 
	{
		rect.left = rc.left;
		rect.right = rc.right;
	}
}

void CGfxOutBarCtrl::DrawFolder(CDC * pDC, const int iIdx, CRect rect, const bool bSelected)
{
	CBarFolder * pbf = (CBarFolder *) arFolder.GetAt(iIdx);

	if (!bSelected)
	{
		CPen pn1(PS_SOLID, 1, crBackGroundColor1);
		CPen * op = pDC->SelectObject(&pn1);
		pDC->MoveTo(rect.left, rect.top);
		pDC->LineTo(rect.right, rect.top);
		pDC->SelectObject(op);

		rect.top ++;

		pDC->Draw3dRect(rect, crHilightBorder, crBackGroundColor1);
		rect.InflateRect(-1,-1);
		pDC->FillSolidRect(rect, cr3dFace);
		int obk = pDC->SetBkMode(TRANSPARENT);
		CFont * of = pDC->SelectObject(CFont::FromHandle((HFONT)GetStockObject(DEFAULT_GUI_FONT)));
		pDC->DrawText(CString(pbf->cName), rect, DT_CENTER|DT_VCENTER|DT_SINGLELINE);
		pDC->SetBkMode(obk);
		pDC->SelectObject(of);
	}
	else
	{
		CPen pn1(PS_SOLID, 1, crBackGroundColor1);
		CPen * op = pDC->SelectObject(&pn1);
		pDC->MoveTo(rect.left+1, rect.top);
		pDC->LineTo(rect.right, rect.top);
		pDC->SelectObject(op);

		rect.top ++;

		pDC->Draw3dRect(rect, crDkShadowBorder, crHilightBorder);
		rect.InflateRect(-1,-1);
		pDC->Draw3dRect(rect, crBackGroundColor1, cr3dFace);
		rect.InflateRect(-1,-1);

		pDC->FillSolidRect(rect, cr3dFace);

		int obk = pDC->SetBkMode(TRANSPARENT);
		CFont * of = pDC->SelectObject(CFont::FromHandle((HFONT)GetStockObject(DEFAULT_GUI_FONT)));
		pDC->DrawText(CString(pbf->cName), rect, DT_CENTER|DT_VCENTER|DT_SINGLELINE);
		pDC->SetBkMode(obk);
		pDC->SelectObject(of);
	}
}

int CGfxOutBarCtrl::AddFolder(const char * cFolderName, const DWORD exData)
{
	CBarFolder * pbf = new CBarFolder(cFolderName, exData);
	ASSERT(pbf);
	arFolder.Add((void *)pbf);

	return arFolder.GetSize() - 1;
}

CGfxOutBarCtrl::CBarFolder::CBarFolder(const char * name, DWORD exData)
{
	cName = NULL;
	dwData = exData;

	if (name)
	{
		cName = new char[lstrlen(name)+1];
		ASSERT(cName);
		lstrcpy(cName, name);
	}
	pLargeImageList = NULL;
	pSmallImageList = NULL;
	pChild = NULL;
}

CGfxOutBarCtrl::CBarFolder::~CBarFolder()
{
	if (cName) delete [] cName;
	for (int t = 0; t < arItems.GetSize(); t++)
		if (arItems.GetAt(t)) delete (CBarFolder*) arItems.GetAt(t);

	arItems.RemoveAll();
}

void CGfxOutBarCtrl::GetInsideRect(CRect & rect) const
{
	GetClientRect(rect);
	if (arFolder.GetSize() > 0)
	{
		int max = arFolder.GetSize();
		rect.top += iFolderHeight * (iSelFolder + 1) - 1;//+ 2;
		rect.bottom -= (max - iSelFolder - 1)*iFolderHeight;
		return;
	}
}

void CGfxOutBarCtrl::OnMouseMove(UINT nFlags, CPoint point) 
{
	int index, ht = HitTestEx(point, index);

	if (ht != htFolder && iLastFolderHighlighted >= 0) HighlightFolder(-1);
	if (ht != htItem   && iLastItemHighlighted   >= 0) HighlightItem(-1);

	if (ht == htFolder)
	{
		HighlightFolder(index);
		SetTimer(1,100,NULL);
	}
	else if (ht == htItem)
	{
		HighlightItem(index);
		SetTimer(1,100,NULL);
	}

	CWnd::OnMouseMove(nFlags, point);
}

int CGfxOutBarCtrl::HitTestEx(const CPoint & point, int &index)
{
	if (bUpArrow && rcUpArrow.PtInRect(point)) return htUpScroll;
	if (bDownArrow && rcDownArrow.PtInRect(point)) return htDownScroll;

	int max = arFolder.GetSize(), t;

	CRect rc;
	for (t = 0; t < max; t++)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产成人av影院| 色综合婷婷久久| 亚洲特级片在线| 91精品麻豆日日躁夜夜躁| 波多野结衣中文一区| 免费在线观看视频一区| 一区二区三区四区精品在线视频| 欧美精品一区二区高清在线观看| 在线日韩av片| 成人av免费在线播放| 精品一区二区三区日韩| 亚洲国产成人av好男人在线观看| 中文成人av在线| 2021国产精品久久精品 | 在线观看亚洲精品| 粉嫩一区二区三区性色av| 日韩1区2区3区| 亚洲综合成人在线| **性色生活片久久毛片| 国产夜色精品一区二区av| 精品国产一区二区三区久久影院 | 在线观看av不卡| 99久久久无码国产精品| 国产.精品.日韩.另类.中文.在线.播放| 日本美女视频一区二区| 亚洲国产成人av好男人在线观看| 亚洲欧美在线观看| 国产精品美女久久久久久久久久久| 久久久久久久久蜜桃| 精品国产乱码久久久久久1区2区| 在线成人高清不卡| 在线看国产日韩| 精品视频一区二区不卡| 欧美午夜免费电影| 欧美日韩你懂得| 欧美日韩高清影院| 91精品午夜视频| 欧美一级黄色大片| 精品国产乱码久久久久久免费| 欧美一区二区在线免费观看| 日韩一级欧美一级| 日韩西西人体444www| 日韩精品一区二区三区视频| 欧美videos中文字幕| 精品国产制服丝袜高跟| 国产亚洲婷婷免费| 中文天堂在线一区| 亚洲综合一区二区| 午夜精品免费在线| 国内外成人在线| 粉嫩高潮美女一区二区三区| 91在线云播放| 欧美日韩一区不卡| 欧美成人三级在线| 国产欧美日韩中文久久| 国产精品嫩草影院com| 综合久久久久久| 亚洲午夜成aⅴ人片| 热久久久久久久| 高清不卡一区二区| 在线免费观看一区| 日韩视频免费观看高清在线视频| 久久综合狠狠综合| 日韩毛片精品高清免费| 亚洲电影在线播放| 国产毛片精品国产一区二区三区| youjizz久久| 欧美乱妇15p| 久久免费美女视频| 亚洲精品成a人| 久久99蜜桃精品| av亚洲精华国产精华| 欧美日韩在线三级| 久久久99精品久久| 亚洲黄色av一区| 九九视频精品免费| 91麻豆文化传媒在线观看| 91精品国产综合久久婷婷香蕉| 欧美激情中文字幕| 天使萌一区二区三区免费观看| 国产一区二区三区香蕉| 在线观看视频一区| 精品久久久久久久久久久久包黑料 | 日产精品久久久久久久性色| 成人激情开心网| 日韩视频一区二区三区在线播放| 国产精品国产自产拍在线| 奇米四色…亚洲| 色素色在线综合| 久久先锋影音av鲁色资源网| 亚洲综合清纯丝袜自拍| 国产精品一区二区三区四区| 欧美中文字幕一区| 久久精品视频在线免费观看| 亚洲123区在线观看| 成人黄色在线网站| 欧美v日韩v国产v| 亚洲国产视频网站| 不卡视频在线观看| 精品国产免费人成在线观看| 亚洲最新视频在线观看| 国产凹凸在线观看一区二区| 欧美二区三区的天堂| 亚洲另类中文字| 成人性视频免费网站| 亚洲精品在线一区二区| 午夜激情综合网| 色噜噜狠狠色综合中国| 欧美韩日一区二区三区四区| 久久精品免费看| 欧美日韩视频在线第一区| 美女脱光内衣内裤视频久久影院| 一本久久a久久精品亚洲| 欧美国产精品v| 国内精品久久久久影院色| 这里只有精品99re| 亚洲另类色综合网站| 成人国产在线观看| 国产亲近乱来精品视频| 国内精品免费**视频| 欧美成人女星排行榜| 五月天网站亚洲| 欧美日韩久久一区二区| 亚洲一区免费视频| 欧美影院一区二区| 亚洲午夜影视影院在线观看| 99re这里只有精品首页| 国产精品成人网| 成人黄色电影在线| 国产精品水嫩水嫩| 不卡av电影在线播放| 国产精品麻豆网站| 91视频在线观看| 亚洲精品国产精品乱码不99| 色综合久久88色综合天天免费| 日韩美女精品在线| 91搞黄在线观看| 亚洲高清不卡在线观看| 欧美日韩情趣电影| 奇米精品一区二区三区在线观看| 91精品国产一区二区人妖| 免费在线观看日韩欧美| 精品久久久久久亚洲综合网| 国产黄色成人av| 国产精品久久午夜| 色婷婷亚洲综合| 亚洲国产cao| 欧美成人精精品一区二区频| 国产真实乱偷精品视频免| 国产精品免费av| 一本一道综合狠狠老| 亚洲自拍都市欧美小说| 91精品国产综合久久久久久久| 久久99精品久久久久| 国产日韩精品一区二区三区在线| 不卡在线观看av| 亚洲综合偷拍欧美一区色| 这里是久久伊人| 国产精品一区免费视频| 亚洲精品一二三| 在线电影一区二区三区| 国产经典欧美精品| 亚洲欧美aⅴ...| 911精品产国品一二三产区| 国产福利一区二区三区视频在线 | 日本欧美在线观看| 亚洲国产精品黑人久久久| 99re热这里只有精品视频| 亚洲成人动漫在线免费观看| 日韩免费观看高清完整版在线观看| 国产美女一区二区| 洋洋av久久久久久久一区| 欧美一级一区二区| 波多野结衣的一区二区三区| 亚洲国产成人tv| 国产女人水真多18毛片18精品视频| 色94色欧美sute亚洲线路一久| 欧美猛男gaygay网站| 经典三级视频一区| 亚洲欧美日韩在线| 精品粉嫩超白一线天av| www.色精品| 美女在线视频一区| 亚洲精品伦理在线| 久久综合久久综合亚洲| 欧美亚洲日本国产| 国产成+人+日韩+欧美+亚洲| 亚洲香蕉伊在人在线观| 国产欧美一区二区三区沐欲| 欧美日韩中文一区| 不卡在线观看av| 国产一区二区三区蝌蚪| 偷拍一区二区三区四区| 亚洲欧美视频在线观看| 26uuu欧美| 日韩免费高清av| 欧美日韩黄色影视| 91色在线porny| 国产精品一二三区| 久久国产日韩欧美精品|