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

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

?? xiaoguanview.cpp

?? 看看能不能用
?? CPP
字號:
// xiaoguanView.cpp : implementation of the CXiaoguanView class
//

#include "stdafx.h"
#include "math.h"
#include "xiaoguan.h"
#include "xiaoguanDoc.h"
#include "xiaoguanView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif



/////////////////////////////////////////////////////////////////////////////
// CXiaoguanView

IMPLEMENT_DYNCREATE(CXiaoguanView, CView)

BEGIN_MESSAGE_MAP(CXiaoguanView, CView)
	//{{AFX_MSG_MAP(CXiaoguanView)
	ON_WM_LBUTTONDOWN()
	ON_WM_LBUTTONUP()
	ON_WM_MOUSEMOVE()
	ON_COMMAND(ID_xiaoguanLine, OnxiaoguanLine)
	ON_COMMAND(ID_xiaoguanCcircle, OnxiaoguanCcircle)
	ON_COMMAND(ID_BEZIER, OnBezier)
	ON_COMMAND(ID_CLEAR, OnClear)
	ON_COMMAND(ID_DRAWPIXEL, OnDrawpixel)
	ON_COMMAND(ID_xiaoguanduobianxing, Onxiaoguanduobianxing)
	ON_WM_RBUTTONDOWN()
	ON_WM_RBUTTONUP()
	ON_COMMAND(ID_xiaoguanEllipse, OnxiaoguanEllipse)
	ON_COMMAND(ID_xiaoguanfilled, Onxiaoguanfilled)
	ON_COMMAND(ID_xiaoguanColor, OnxiaoguanColor)
	//}}AFX_MSG_MAP
	// Standard printing commands
	ON_COMMAND(ID_FILE_PRINT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_DIRECT, CView::OnFilePrint)
	ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView::OnFilePrintPreview)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CXiaoguanView construction/destruction

CXiaoguanView::CXiaoguanView()
{
	// TODO: add construction code here
	m_bmouseDown = false;
	m_hCross = AfxGetApp()->LoadStandardCursor(IDC_CROSS);
	m_hArrow = AfxGetApp()->LoadStandardCursor(IDC_ARROW);
//	m_bmouseDown=false;
	m_start=true;
	m_totnum=0;
	m_drawpixel=false;
	m_makeBezier=false;
	color=RGB(255,255,0);
}

CXiaoguanView::~CXiaoguanView()
{
}

BOOL CXiaoguanView::PreCreateWindow(CREATESTRUCT& cs)
{
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	return CView::PreCreateWindow(cs);
}

/////////////////////////////////////////////////////////////////////////////
// CXiaoguanView drawing

void CXiaoguanView::OnDraw(CDC* pDC)
{
	CXiaoguanDoc* pDoc = GetDocument();
	ASSERT_VALID(pDoc);
	// TODO: add draw code for native data here
	
}

/////////////////////////////////////////////////////////////////////////////
// CXiaoguanView printing

BOOL CXiaoguanView::OnPreparePrinting(CPrintInfo* pInfo)
{
	// default preparation
	return DoPreparePrinting(pInfo);
}

void CXiaoguanView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add extra initialization before printing
}

void CXiaoguanView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
	// TODO: add cleanup after printing
}

/////////////////////////////////////////////////////////////////////////////
// CXiaoguanView diagnostics

#ifdef _DEBUG
void CXiaoguanView::AssertValid() const
{
	CView::AssertValid();
}

void CXiaoguanView::Dump(CDumpContext& dc) const
{
	CView::Dump(dc);
}

CXiaoguanDoc* CXiaoguanView::GetDocument() // non-debug version is inline
{
	ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CXiaoguanDoc)));
	return (CXiaoguanDoc*)m_pDocument;
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CXiaoguanView message handlers

void CXiaoguanView::OnLButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	CClientDC dc(this);
	if(n==5)
	{
       m_point[m_totnum++]=point;
	   }


      if(m_drawpixel)
		{ 
		  m_point[m_totnum++]=point;
		if(m_totnum>=2)
		{CClientDC dc(this);
		dc.MoveTo(m_point[m_totnum-2]);
		dc.LineTo(m_point[m_totnum-1]);
		}
		}
    	


	
	/*SetCapture();                         // 將鼠標消息發送到視窗口
    CRect rect;
    GetClientRect(&rect);          // 得到客戶窗口的大小
    ClientToScreen(&rect);        // 將當前窗口坐標轉換成屏幕坐標
    ClipCursor(&rect);               // 把鼠標限定在其參數指定的矩形區域內
	SetCursor(m_hCross);*/	// 設置鼠標形狀為十字形
     
   if((n==1)|(n==2)|(n==8))
   {	
	   SetCapture();                         // 將鼠標消息發送到視窗口
	   CRect rect;
	   GetClientRect(&rect);          // 得到客戶窗口的大小
	   ClientToScreen(&rect);        // 將當前窗口坐標轉換成屏幕坐標
	   ClipCursor(&rect);               // 把鼠標限定在其參數指定的矩形區域內
	SetCursor(m_hCross);
	   m_bmouseDown = true;        // 鼠標左鍵按下
	m_ptStart = point;
	m_ptOld = point;
   }
   if(n==3)
   {
    if(m_start)
	{
		m_start=false;
		A=point;
		m_ptStart=point;
		nCount=0;
		lpPoints[nCount]=point;
		nCount++;
	}
	else
	{m_ptOld=point;
	CClientDC dc(this);
	dc.MoveTo(m_ptStart);
	dc.LineTo(m_ptOld);

    m_ptStart=point;
	lpPoints[nCount]=point;
	nCount++;
	} 
	
   }

	CView::OnLButtonDown(nFlags, point);
}

void CXiaoguanView::OnLButtonUp(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	if (m_bmouseDown )
	{
		m_bmouseDown=false;
        ReleaseCapture();
		ClipCursor( NULL );
    	CClientDC dc(this);
		dc.SetROP2( R2_NOT );
		dc.MoveTo( m_ptStart );       //這兩行代碼擦除從起點(鼠標按下點)到
	    dc.LineTo( m_ptOld );          //上次鼠標移動到的位置之間的臨時線   
	    //dc.SetROP2( R2_COPYPEN );
		//dc.MoveTo(m_ptStart);
		//dc.LineTo(point);
	  if (n==2)
	  {
	  
		  m_circle(m_ptStart.x,point.x,m_ptStart.y,point.y,color);
		  
	  }
		if (n==1)
		{
			dda_line(m_ptStart.x,m_ptStart.y,point.x,point.y,color);
		}if (n==8)
		{
			m_Ellipse(m_ptStart.x,m_ptStart.y ,point.x,point.y,m_ptStart,color);
		}
		

		SetCursor(m_hArrow);
	}
	CView::OnLButtonUp(nFlags, point);
}

void CXiaoguanView::OnMouseMove(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	if( m_bmouseDown )
	{
		CClientDC dc(this);
		//dc.SetROP2( R2_NOT );
		//dc.MoveTo( m_ptStart );	//這兩行代碼擦除從起點(鼠標按下點)到
		//dc.LineTo( m_ptOld );	//上次鼠標移動到的位置之間的臨時線
		//dc.MoveTo( m_ptStart );	//這兩行代碼從起點到鼠標當前位置畫線
	//	dc.LineTo( point );		// 
		//m_ptOld = point; //鼠標當前位置在下一次鼠標移動事件看來就是"舊位置"
	}
	CView::OnMouseMove(nFlags, point);
}
void CXiaoguanView::m_circle(float x1,float x2,float y1,float y2,int color)
{
  float r,x=0,y,deltax,deltay,d;
  r=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)); 
  y=r;
  CClientDC dc(this);
  dc.SetPixel(x1+x,y1+y,220);
  deltax=3;deltay=2-r-r;d=1-r;
  while(x<y)
  {
	  if(d<0)
	  {
		  d+=deltax;
		  deltax+=2;
		  x++;
	  }
	  else
	  {
		  d+=(deltax+deltay);
		  deltax+=2;deltay+=2;
		  x++;y--;
	  }
	  dc.SetPixel(x1+x,y1+y,color);
	  dc.SetPixel(x1-x,y1-y,color);
	  dc.SetPixel(x1-x,y1+y,color);
	  dc.SetPixel(x1+x,y1-y,color);
	  dc.SetPixel(x1-y,y1-x,color);
	  dc.SetPixel(x1+y,y1+x,color);
	  dc.SetPixel(x1+y,y1-x,color);
	  dc.SetPixel(x1-y,y1+x,color);  
  }
}
void CXiaoguanView::dda_line(int xa,int ya,int  xb,int  yb,int c)
{	
	float delta_x, delta_y, x, y;
	int dx, dy, steps, k;
	dx=xb-xa;
	dy=yb-ya;
    if (abs(dx)>abs(dy)) steps=abs(dx);
	else steps=abs (dy);
	delta_x=(float)dx / (float)steps;
	delta_y=(float)dy / (float)steps;
	x=xa;
	y=ya;
		CClientDC dc(this);
			  dc.SetPixel(x+0.5,y+0.5,c);
	for (k=1; k<=steps; k++)
	{
		x+=delta_x;
		y+=delta_y;
	dc.SetPixel(x+0.5,y+0.5,c);
	}
}	
/*void CXiaoguanView::Onxiaoguandraw() 
{
	// TODO: Add your command handler code here

}*/
void CXiaoguanView::OnxiaoguanLine() 
{	AfxMessageBox("可以用你所選擇的顏色畫直線了");

n=1;	// TODO: Add your command handler code here	
}
void CXiaoguanView::OnxiaoguanCcircle() 
{	AfxMessageBox("可以用你所選擇的顏色畫圓了");
n=2	;// TODO: Add your command handler code here	
}
void CXiaoguanView::OnBezier() 
{
	n=5;// TODO: Add your command handler code here
	CString mes;
	CClientDC dc(this);
	mes.Format("一共有%d個控制點!",m_totnum);
	m_drawpixel=false;
	m_makeBezier=true;
	dc.TextOut(400,400,mes);
	AfxMessageBox("開始作Bezier曲線!");

	if(m_makeBezier)
	{
		if(m_totnum>=2)
			makeBezier();
		else
			AfxMessageBox("您給的控制點數量不夠!");
	}


}

void CXiaoguanView::OnClear() 
{
	n=6;// TODO: Add your command handler code here
	Invalidate(TRUE);
	m_totnum=0;
	m_drawpixel=false;
	m_makeBezier=false;
}



double CXiaoguanView::m_power(double tt, int ii)
{
	double ress=1.0;
	int jj=0;
	for(jj=0;jj<ii;jj++)
	{
		ress*=tt;
	}
	return ress;
}

long CXiaoguanView::m_stair(int aaa)
{
	int tem=1;
	int dd;
	int temp_aaa=aaa;
	for(dd=0;dd<aaa;dd++)
	{
		tem*=temp_aaa;
		temp_aaa--;
	}
	return tem;
}

int CXiaoguanView::makeBezier()
{
	CClientDC dc(this);
	int i=0;
	double tempx=0.0;
	double tempy=0.0;
	CPoint cur_point;
	double t=0.0;
	int n=m_totnum-1;
	while(t<=1)
	{
		tempx=0.0;
		tempy=0.0;
		i=0;
		while(i<=n)
		{
			tempx+=(m_point[i].x*m_power(t,i)*m_power((1-t),(n-i))*m_Zuhe(n,i));
			tempy+=(m_point[i].y*m_power(t,i)*m_power((1-t),(n-i))*m_Zuhe(n,i));
			i++;
		}
		cur_point.x=(long)tempx;
		cur_point.y=(long)tempy;
		t+=0.00001;
		dc.SetPixel(cur_point.x,cur_point.y,RGB(255,0,0));
	}	
	return 0;
}

long CXiaoguanView::m_Zuhe(int nn, int ii)
{
	long res;
	res=m_stair(nn)/((m_stair(ii))*m_stair(nn-ii));
	return(res);
}

void CXiaoguanView::OnDrawpixel() 
{
	// TODO: Add your command handler code here
	m_drawpixel=true;
	m_makeBezier=false;
	AfxMessageBox("開始作控制點了!");
}
void CXiaoguanView::Onxiaoguanduobianxing() 
{AfxMessageBox("可以開始用你選擇的顏色畫多邊形了!");
n=3;
// TODO: Add your command handler code here	
}
void CXiaoguanView::OnRButtonDown(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	if (n==3)
	{
	m_start=true;
    ReleaseCapture();
	ClipCursor( NULL );
    CClientDC dc(this);
    dc.MoveTo(m_ptStart);
	dc.LineTo(A);
	CRect rect;
	}
	CView::OnRButtonDown(nFlags, point);
	
}
void CXiaoguanView::OnRButtonUp(UINT nFlags, CPoint point) 
{
	// TODO: Add your message handler code here and/or call default
	if(RightDown)
	{
		RightDown=false;
		ReleaseCapture();
		ClipCursor(NULL);
	}	
	CView::OnRButtonUp(nFlags, point);
}



void CXiaoguanView::m_Ellipse(float x1, float x2, float y1, float y2,CPoint o,int color)
{
	int x,y,a,b;
	a=x1;
	b=x2;
	float d1,d2;
	 CClientDC dc(this);
	x=0;y=b;
	d1=b*b+a*a*(-b+0.25);
    dc.SetPixel(x+0.5+o.x,y+0.5+o.y,255);
	dc.SetPixel(-y+0.5+o.x,x+0.5+o.y,255);
	dc.SetPixel(y+0.5+o.x,-x+0.5+o.y,255);
	dc.SetPixel(-x+0.5+o.x,-y+0.5+o.y,255);
	while (b*b*(x+1)<a*a*(y-0.5))
    {
		if (d1<0)
		{
			d1+=b*b*(2*x+3);
			x++;
		}
	
    	else
		{
		d1+=(b*b*(2*x+3)+a*a*(-2*y+2));
		x++;y--;
		}
		dc.SetPixel(x+0.5,y+0.5,255);
}
d2=sqrt(b*(x+0.5))+sqrt(a*(y-1))-sqrt(a*b);
while(y>0)
{
	if (d2<0)
	{
		
		d2+=b*b*(2*x+2)+a*a*(-2*y+3);
		x++;y--;
	}
	
	else
	{
		d2+=a*a*(-2*y+3);
		y--;
	}
	dc.SetPixel(x+0.5+o.x,y+0.5+o.y,255);
	dc.SetPixel(-y+0.5+o.x,x+0.5+o.y,255);
	dc.SetPixel(y+0.5+o.x,-x+0.5+o.y,255);
	dc.SetPixel(-x+0.5+o.x,-y+0.5+o.y,255);
}
}

void CXiaoguanView::OnxiaoguanEllipse() 
{
	
	n=8;
	
	// TODO: Add your command handler code here
	
}

void CXiaoguanView::FillPolygon(CPoint *lpPoints, int nCount, int nColor)
{
 // 檢查參數合法性
 //ASSERT_VALID(pDC);
 ASSERT(lpPoints);
 ASSERT(nCount>2);
 ASSERT(nColor>=0);
 
 // 邊結構數據類型
 typedef struct Edge{
  int ymax;  // 邊的最大y坐標
  float x; // 與當前掃描線的交點x坐標
  float dx; // 邊所在直線斜率的倒數
  struct Edge * pNext; // 指向下一條邊
 }Edge, * LPEdge;

 int i=0,j=0,k=0;
 int y0=0,y1=0;  // 掃描線的最大和最小y坐標
 LPEdge pAET=NULL; // 活化邊表頭指針
 LPEdge * pET=NULL;  // 邊表頭指針

 pAET=new Edge; // 初始化表頭指針,第一個元素不用
 pAET->pNext=NULL;
 
 // 獲取y方向掃描線邊界
 y0=y1=lpPoints[0].y;
 for(i=1;i<nCount;i++)
 {
  if(lpPoints[i].y<y0)
   y0=lpPoints[i].y;
  else if(lpPoints[i].y>y1)
   y1=lpPoints[i].y;
 }
 if(y0>=y1) return;

 // 初始化邊表,第一個元素不用
 pET=new LPEdge[y1-y0+1];
 for(i=0;i<=y1-y0;i++)
 {
  pET[i]= new Edge;
  pET[i]->pNext=NULL;
 }

 for(i=0;i<nCount;i++)   //構造邊表
 {
  j=(i+1)%nCount; // 組成邊的下一點
  if(lpPoints[i].y != lpPoints[j].y)// 如果該邊不是水平的則加入邊表
  {
   LPEdge peg;   // 指向該邊的指針
   LPEdge ppeg;  // 指向邊指針的指針

   // 構造邊
   peg =new Edge;
   k=(lpPoints[i].y>lpPoints[j].y)?i:j;
   peg->ymax=lpPoints[k].y; // 該邊最大y坐標
   k=(k==j)?i:j;  
   peg->x=(float)lpPoints[k].x; // 該邊與掃描線焦點x坐標
   if(lpPoints[i].y != lpPoints[j].y) 
    peg->dx=(float)(lpPoints[i].x-lpPoints[j].x)/(lpPoints[i].y-lpPoints[j].y);// 該邊斜率的倒數
   peg->pNext=NULL;

   // 插入邊
   ppeg=pET[lpPoints[k].y-y0]; 
   while(ppeg->pNext)
    ppeg=ppeg->pNext;
   ppeg->pNext=peg;
  }// end if
 }// end for i

 // 掃描
 for(i=y0;i<=y1;i++)
 {
  LPEdge peg0=pET[i-y0]->pNext;
  LPEdge peg1=pET[i-y0];
  if(peg0)// 有新邊加入
  {
   while(peg1->pNext)
    peg1=peg1->pNext;
   peg1->pNext=pAET->pNext;
   pAET->pNext=peg0;
  }

  // 按照x遞增排序pAET
  peg0=pAET;
  while(peg0->pNext)
  {
   LPEdge pegmax=peg0;
   LPEdge peg1=peg0;
   LPEdge pegi=NULL;

   while(peg1->pNext)
   {
    if(peg1->pNext->x>pegmax->pNext->x)
     pegmax=peg1;
    peg1=peg1->pNext;
   }
   pegi=pegmax->pNext;
   pegmax->pNext=pegi->pNext;
   pegi->pNext=pAET->pNext;
   pAET->pNext=pegi;
   if(peg0 == pAET)
    peg0=pegi;
  }

  // 遍歷活邊表,畫線
  peg0=pAET;
  while(peg0->pNext)
  {
   if(peg0->pNext->pNext)
   {
    dda_line((int)peg0->pNext->x,i,(int)peg0->pNext->pNext->x,i,nColor);
    peg0=peg0->pNext->pNext;
   }
   else
    break;
  }

  // 把ymax=i的節點從活邊表刪除并把每個節點的x值遞增dx
  peg0=pAET;
  while(peg0->pNext)
  {
   if(peg0->pNext->ymax < i+2)
   {
    peg1=peg0->pNext;
    peg0->pNext=peg0->pNext->pNext; //刪除
    delete peg1;
    continue;
   }
   peg0->pNext->x+=peg0->pNext->dx; //把每個節點的x值遞增dx
   peg0=peg0->pNext;
  }
 }

 // 刪除邊表
 for(i=0;i<y1-y0;i++)
  if(pET[i])
   delete pET[i];
 if(pAET) 
  delete pAET;
 if(pET)
  delete[] pET; 


}


void CXiaoguanView::Onxiaoguanfilled() 
{
	AfxMessageBox("可以填充你所選擇的顏色了");
	// TODO: Add your command handler code here
	n==9;
	FillPolygon(lpPoints,nCount,color);
	

}

void CXiaoguanView::OnxiaoguanColor() 
{
		  CColorDialog d;
		  if(d.DoModal()==IDOK)
			  color=d.GetColor();
		  
	  // TODO: Add your command handler code here
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品夜夜嗨av一区二区三区| 国产午夜亚洲精品不卡| 高清视频一区二区| 麻豆中文一区二区| 九九在线精品视频| 国产麻豆一精品一av一免费| 久久er精品视频| 国内国产精品久久| 国产不卡在线一区| 91在线观看成人| 色婷婷av一区二区三区软件| 91免费视频大全| 欧美网站大全在线观看| 欧美日韩激情一区二区| 欧美日韩国产高清一区二区三区| 欧美日韩一区在线| 日韩欧美电影在线| 国产欧美一区二区三区在线老狼| 国产精品天干天干在线综合| 亚洲人一二三区| 亚洲国产综合视频在线观看| 日韩成人午夜电影| 国产精品一品二品| 在线亚洲精品福利网址导航| 在线成人小视频| 国产午夜一区二区三区| 亚洲色图第一区| 免费在线观看成人| 成人激情开心网| 精品视频一区三区九区| 久久伊人蜜桃av一区二区| 国产精品免费aⅴ片在线观看| 亚洲精品ww久久久久久p站| 日韩精品午夜视频| 99在线精品免费| 91麻豆精品国产综合久久久久久 | 五月综合激情网| 老司机一区二区| 一本久久a久久精品亚洲| 欧美一级黄色大片| 亚洲免费在线观看视频| 老汉av免费一区二区三区| 99re这里只有精品视频首页| 777精品伊人久久久久大香线蕉| 欧美精品一区二区三区很污很色的| 国产精品久久久久影院色老大| 国产精品综合在线视频| 在线视频综合导航| 久久久亚洲午夜电影| 亚洲第一狼人社区| 9人人澡人人爽人人精品| 欧美大度的电影原声| 一区二区三区鲁丝不卡| 成人妖精视频yjsp地址| 日韩一级免费一区| 午夜av一区二区三区| 99久久精品免费精品国产| wwwwww.欧美系列| 青青青爽久久午夜综合久久午夜| 色诱视频网站一区| 国产精品久久久久国产精品日日| 精品制服美女丁香| 欧美一区二区视频在线观看2020 | 日本一区二区免费在线| 日本亚洲欧美天堂免费| 色av综合在线| 中文字幕日本不卡| 不卡视频免费播放| 久久久国产午夜精品| 精品亚洲成a人| 欧美α欧美αv大片| 麻豆精品久久精品色综合| 欧美日韩成人综合| 视频一区欧美精品| 这里只有精品免费| 免费在线观看成人| 日韩欧美视频一区| 麻豆精品一区二区| 精品99999| 国产成人免费视频网站| 国产亚洲综合av| 成人免费av在线| 国产精品久久久久久久第一福利| 成人黄页在线观看| 亚洲免费毛片网站| 精品视频全国免费看| 午夜久久久久久久久久一区二区| 欧美理论电影在线| 精品一区二区三区视频| 国产精品三级电影| 日本福利一区二区| 日韩av一区二区三区| 日韩免费看的电影| 大胆亚洲人体视频| 亚洲一区视频在线| 日韩一区二区视频| 福利视频网站一区二区三区| 中文字幕日韩精品一区| 欧美日韩国产123区| 久久精品99久久久| 国产精品区一区二区三| 欧美午夜精品电影| 韩国理伦片一区二区三区在线播放| 国产欧美一区二区精品忘忧草 | 国产精品一区二区不卡| 亚洲欧洲成人av每日更新| 日韩无一区二区| 成av人片一区二区| 亚洲高清在线精品| 久久精品亚洲麻豆av一区二区 | 日韩精品一级中文字幕精品视频免费观看 | 国产欧美日韩不卡免费| 欧美午夜一区二区三区| 精品一区二区免费看| 成人免费在线视频| 欧美成人午夜电影| 91在线免费视频观看| 美女脱光内衣内裤视频久久影院| 国产欧美精品在线观看| 欧美在线免费视屏| 国产成人综合网站| 污片在线观看一区二区| 国产精品久久久久aaaa| 日韩午夜激情视频| 欧美日韩中字一区| 不卡av在线免费观看| 男女性色大片免费观看一区二区 | 91精品国产高清一区二区三区| 成人精品鲁一区一区二区| 免费成人美女在线观看| 一级精品视频在线观看宜春院| 国产欧美一区二区在线观看| 欧美一区二区三区性视频| 在线国产电影不卡| av一本久道久久综合久久鬼色| 韩国女主播一区| 毛片基地黄久久久久久天堂| 亚洲成av人在线观看| 亚洲欧美成aⅴ人在线观看| 久久一区二区三区四区| 成人精品视频网站| 国内成人自拍视频| 国产综合久久久久久鬼色| 日本午夜精品视频在线观看| 一区二区三区久久久| 欧美一级专区免费大片| 91麻豆精品国产91久久久资源速度 | 91精品国产色综合久久不卡蜜臀| 99精品国产91久久久久久 | 亚洲女爱视频在线| 国产精品免费看片| 国产精品福利电影一区二区三区四区| 欧美精品一区在线观看| 精品久久久久一区| 久久伊人中文字幕| 国产日韩一级二级三级| 中文字幕精品在线不卡| 欧美—级在线免费片| 中文字幕不卡在线| 午夜精品久久一牛影视| 亚洲丶国产丶欧美一区二区三区| 17c精品麻豆一区二区免费| 制服丝袜亚洲播放| 日韩午夜在线观看| 久久蜜桃av一区二区天堂| 国产亚洲成av人在线观看导航 | 成人免费av网站| 91在线观看一区二区| 在线免费不卡视频| 欧美精品日韩一本| 精品国产乱码久久久久久闺蜜| 欧美久久久久久久久中文字幕| 成人国产精品视频| 欧美亚洲禁片免费| 日韩小视频在线观看专区| 国产午夜久久久久| 亚洲激情图片qvod| 麻豆国产精品官网| 丁香桃色午夜亚洲一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃| 欧美伊人久久大香线蕉综合69| 欧美久久婷婷综合色| 久久久精品中文字幕麻豆发布| 国产精品不卡一区| 日本亚洲欧美天堂免费| 麻豆国产精品一区二区三区 | 精品一区二区影视| 97久久精品人人做人人爽| 制服.丝袜.亚洲.另类.中文| 国产欧美视频一区二区| 亚洲午夜在线电影| 经典一区二区三区| 91在线观看高清| 欧美精品一区二区三区很污很色的 | 99久久精品国产精品久久| 欧美片在线播放| 中文字幕一区二区三区四区| 日本午夜一本久久久综合| 色综合久久中文字幕综合网| 精品日韩99亚洲|