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

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

?? qwsmouse_qws.cpp

?? 基于LINUX2.6.9觸摸鼠標驅動QT3.0
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
    if ((mouseFD = open( "/dev/h3600_tsraw", O_RDONLY | O_NDELAY)) < 0) {
# else
    if ((mouseFD = open( "/dev/h3600_ts", O_RDONLY | O_NDELAY)) < 0) {
# endif
	qWarning( "Cannot open /dev/h3600_ts (%s)", strerror(errno));
	return;
    }
#elif defined(QT_QWS_EBX)
//# ifdef QT_QWS_EBX_TSRAW
# if 0
    if ((mouseFD = open( "/dev/tsraw", O_RDONLY | O_NDELAY)) < 0) {
        qWarning( "Cannot open /dev/tsraw (%s)", strerror(errno));
       return;
    }
# else
    if ((mouseFD = open( "/dev/ts", O_RDONLY | O_NDELAY)) < 0) {
        qWarning( "Cannot open /dev/ts (%s)", strerror(errno));
        return;
     }
# endif
#endif

    QSocketNotifier *mouseNotifier;
    mouseNotifier = new QSocketNotifier( mouseFD, QSocketNotifier::Read,
					 this );
    connect(mouseNotifier, SIGNAL(activated(int)),this, SLOT(readMouseData()));
    waspressed=FALSE;
    mouseIdx = 0;
}

QTPanelHandlerPrivate::~QTPanelHandlerPrivate()
{
    if (mouseFD >= 0)
	close(mouseFD);
}

void QTPanelHandlerPrivate::readMouseData()
{
    if(!qt_screen)
	return;

    int n;
    do {
	n = read(mouseFD, mouseBuf+mouseIdx, mouseBufSize-mouseIdx );
	if ( n > 0 )
	    mouseIdx += n;
    } while ( n > 0 && mouseIdx < mouseBufSize );

    TS_EVENT *data;
    int idx = 0;
    while ( mouseIdx-idx >= (int)sizeof( TS_EVENT ) ) {
	uchar *mb = mouseBuf+idx;
	data = (TS_EVENT *) mb;
	if(data->pressure >= QT_QWS_TP_PRESSURE_THRESHOLD) {
#ifdef QT_QWS_CUSTOM
	    samples[currSample] = QPoint( 1000 - data->x, data->y );
#else
	    samples[currSample] = QPoint( data->x, data->y );
#endif
	    numSamples++;
	    if ( numSamples >= samples.count() ) {
		int maxd = 0;
		unsigned int ignore = 0;
		// throw away the "worst" sample
		for ( unsigned int i = 0; i < samples.count(); i++ ) {
		    int d = ( mousePos - samples[i] ).manhattanLength();
		    if ( d > maxd ) {
			maxd = d;
			ignore = i;
		    }
		}
		bool first = TRUE;
		// average the rest
		for ( unsigned int i = 0; i < samples.count(); i++ ) {
		    if ( ignore != i ) {
			if ( first ) {
			    mousePos = samples[i];
			    first = FALSE;
			} else {
			    mousePos += samples[i];
			}
		    }
		}
		mousePos /= (int)(samples.count() - 1);
# if defined(QT_QWS_IPAQ_RAW) || defined(QT_QWS_EBX_RAW)
		mousePos = transform( mousePos );
# endif
		if ( waspressed ) {
		    if ( QABS(mousePos.x()-oldmouse.x()) < QT_QWS_TP_MOVE_LIMIT &&
			 QABS(mousePos.y()-oldmouse.y()) < QT_QWS_TP_MOVE_LIMIT ) {
			if ( oldmouse != mousePos ) {
			    mouseChanged(mousePos,Qt::LeftButton);
			    oldmouse=mousePos;
			}
		    }
		} else {
		    mouseChanged(mousePos,Qt::LeftButton);
		    oldmouse=mousePos;
		    waspressed=true;
		}
	    }
	    currSample++;
	    if ( currSample >= samples.count() )
		currSample = 0;
	} else {
	    if ( waspressed ) {
		currSample = 0;
		numSamples = 0;
		mouseChanged(oldmouse,0);
		oldmouse = QPoint( -100, -100 );
		waspressed=false;
	    }
	}
	idx += sizeof( TS_EVENT );
    }

    int surplus = mouseIdx - idx;
    for ( int i = 0; i < surplus; i++ )
	mouseBuf[i] = mouseBuf[idx+i];
    mouseIdx = surplus;
}

#endif //QT_QWS_IPAQ


#ifdef QT_QWS_YOPY

QYopyTPanelHandlerPrivate::QYopyTPanelHandlerPrivate( MouseProtocol, QString )
{
    if ((mouseFD = open( "/dev/ts", O_RDONLY)) < 0) {
        qWarning( "Cannot open /dev/ts (%s)", strerror(errno));
	return;
    } else {
        sleep(1);
    }
    prevstate=0;
    QSocketNotifier *mouseNotifier;
    mouseNotifier = new QSocketNotifier( mouseFD, QSocketNotifier::Read,
					 this );
    connect(mouseNotifier, SIGNAL(activated(int)),this, SLOT(readMouseData()));
}

QYopyTPanelHandlerPrivate::~QYopyTPanelHandlerPrivate()
{
    if (mouseFD >= 0)
	close(mouseFD);
}

#define YOPY_XPOS(d) (d[1]&0x3FF)
#define YOPY_YPOS(d) (d[2]&0x3FF)
#define YOPY_PRES(d) (d[0]&0xFF)
#define YOPY_STAT(d) (d[3]&0x01 )

struct YopyTPdata {

  unsigned char status;
  unsigned short xpos;
  unsigned short ypos;

};

void QYopyTPanelHandlerPrivate::readMouseData()
{
    if(!qt_screen)
	return;
    YopyTPdata data;

    unsigned int yopDat[4];

    int ret;

    ret=read(mouseFD,&yopDat,sizeof(yopDat));

    if(ret) {
        data.status= ( YOPY_PRES(yopDat) ) ? 1 : 0;
	data.xpos=YOPY_XPOS(yopDat);
	data.ypos=YOPY_YPOS(yopDat);
	QPoint q;
	q.setX(data.xpos);
	q.setY(data.ypos);
	mousePos=q;
	if(data.status && !prevstate) {
          emit mouseChanged(mousePos,Qt::LeftButton);
        } else if( !data.status && prevstate ) {
	  emit mouseChanged(mousePos,0);
        }
        prevstate = data.status;
    }
    if(ret<0) {
	qDebug("Error %s",strerror(errno));
    }
}

#endif

#ifdef QT_QWS_LUBBOCK
#define X_NEGATIVE_DIRE    -1
#define X_ZERO_DIRE  0
#define X_POSITIVE_DIRE  1
#define Y_NEGATIVE_DIRE -1
#define Y_ZERO_DIRE 0
#define Y_POSITIVE_DIRE 1

QLubbockTPanelHandlerPrivate::QLubbockTPanelHandlerPrivate( MouseProtocol, QString )
{
    char* ts_file = NULL;
	xDirect=X_ZERO_DIRE;
	yDirect=Y_ZERO_DIRE;
	prevPoint.setX(0xffff);
	prevPoint.setY(0xffff);
    ignoreCount=0;
	prevPressure=0;
	firstTouch=1;
	qDebug("This is My TS driver \n");


    ts_file = getenv("TSLIB_TSDEVICE");
    if ( ts_file ) {
      ts = ts_open(ts_file, 0 );
	  qDebug("This is My TS driver event1\n");
	  qDebug("This is My TS driver event1\n");
    } else {
      ts = ts_open("/dev/input/event0",0 );
    }

    if ( !ts ) {
      perror("open");
      return;
    }

    if ( ts_config( ts )<0 ) {
	perror("ts_config");
    }
    
    QSocketNotifier *mouseNotifier;
    mouseNotifier = new QSocketNotifier( ts->fd, QSocketNotifier::Read,
					 this );
    connect(mouseNotifier, SIGNAL(activated(int)),this, SLOT(readMouseData()));
}

QLubbockTPanelHandlerPrivate::~QLubbockTPanelHandlerPrivate()
{
  if ( ts )
      ts_close( ts );
}

#define TSLIBDIR "/usr/lib"
/*
void QLubbockTPanelHandlerPrivate::readMouseData()
{
    struct ts_sample samp;
	struct ts_sample samp1;
	struct input_event ev;
    int ret,ret1,stepx,stepy;
    QPoint MyoldMousePos;
    if(!qt_screen)
	return;

   

    ret = ts_read( ts, &samp, 1 );
    if ( ret<0 ) {
      perror("ts_read");
      return;
    }
		
	 ret1 = ts_read( ts, &samp1, 1 );
   
	MyoldMousePos=mousePos;
    if ( ret==1 &&ret1==1 ) 
	{
		qDebug("samp.pressure==================%d\n",samp.pressure);
		qDebug("samp1.pressure==================%d\n",samp1.pressure);
		
		qDebug("samp.x================%d\n",samp.x);
		qDebug("samp1.x================%d\n",samp1.x);
		qDebug("samp.y==================%d\n",samp.y);
		qDebug("samp1.y==================%d\n",samp1.y);
		stepx = samp1.x - samp.x;
		stepy = samp1.y - samp.y;
	    mousePos.setX(MyoldMousePos.x()+stepx);
		mousePos.setY(MyoldMousePos.y()+stepy);
		limitToScreen(mousePos);
			 
		
      //mousePos.setX( samp.x);
      //mousePos.setY( samp.y );
			//if( samp.pressure>200 ) {
		if( samp.pressure>0 &&samp.pressure<90 ) {
				mouseChanged(mousePos,Qt::LeftButton);
			} else
			{
				mouseChanged(mousePos,0);
			}
    }

}*/
#define FIRST_POINT_COUNT    5
#define FIRST_POINT_STEP     8
#define SECOND_POINT_COUNT  5
#define SECOND_POINT_STEP   8
void QLubbockTPanelHandlerPrivate::readMouseData()  ///avage
{
    struct ts_sample samp;
	struct ts_sample samp1;
	struct input_event ev;
    int ret,ret1,stepx,stepy,pressure;
	int currXdir,currYdir;
    QPoint MyoldMousePos;
	unsigned int totalx,totaly;
    if(!qt_screen)
		return;

	 ret = read(ts->fd, &ev, sizeof(struct input_event));
     if ( ret == sizeof(struct input_event) )
	 {
		 //qDebug("ev.value---->x = %x\n",ev.value);
		 if (ev.code ==ABS_X)
		 samp.x=ev.value;
		 else 
		 {
			 prevPoint.setX(0xffff);
			 prevPoint.setY(0xffff);
			 
			 return;
		 }

	 }else 
	 {
		// qDebug("ret error!!!!!!!!!!!!!!!!!!!!!!!!xxxx\n",ev.code);
		 prevPoint.setX(0xffff);
		 prevPoint.setY(0xffff);
		 
		 return;
	 }

	 ret = read(ts->fd, &ev, sizeof(struct input_event));
     if ( ret == sizeof(struct input_event))
	 {
		 //qDebug("ev.value---->y = %x\n",ev.value);
		 if(ev.code==ABS_Y)
		 samp.y=ev.value;
		 else 
		 {
			 prevPoint.setX(0xffff);
			 prevPoint.setY(0xffff);
			 
			 return;
		 }
		 
	 }else 
	 {
		 //qDebug("ev.code -------------y%d\n",ev.code);
		 //qDebug("ret error!!!!!!!!!!!!!!!!!!!!!!!!yyyyyy\n",ev.code);
		 prevPoint.setX(0xffff);
		 prevPoint.setY(0xffff);
		 
		 return;}

	 ret = read(ts->fd, &ev, sizeof(struct input_event));
     if ( ret == sizeof(struct input_event))
	 {
		 //qDebug("ev.value---->pressure = %x\n",ev.value);
		 if (ev.code==ABS_PRESSURE)
		 samp.pressure=ev.value;
		 else 
		 {
			 prevPoint.setX(0xffff);
			 prevPoint.setY(0xffff);
			 
			 return;
		 }
		 
	 }else
	 {
		 //qDebug("ev.code -------------pressure%d\n",ev.code);
		 //qDebug("ret error!!!!!!!!!!!!!!!!!!!!!!!!pressure\n",ev.code);
		 prevPoint.setX(0xffff);
		 prevPoint.setY(0xffff);
		
		 return;
	 }
	
    

	//qDebug("x===%d  y==%d   x1==%d  y1==%d p==%d\n",samp.x,samp.y,samp1.x,samp1.y,samp.pressure);
	//qDebug("x===%d  y==%d   x1==%d  y1==%d p==%d\n",samp.x,samp.y,samp1.x,samp1.y,samp.pressure);
	
	if (prevPoint.x()==0xffff)
	{
		prevPoint.setX(samp.x);
		prevPoint.setY(samp.y);
		prevPressure=samp.pressure;
		qDebug("First********** samp.x=%d  samp.y=%d samp.presure=%d\n",samp.x,samp.y,samp.pressure);
		firstPoint=1;
		return;
	}
	if (samp.pressure==0)
	{
		///qDebug("this action is end-------------------------------");
		prevPoint.setX(0xffff);
		prevPoint.setY(0xffff);
		

	}

		MyoldMousePos=mousePos;
	//	qDebug("oldmouse.x == %d  oldmouse.y==%d\n",MyoldMousePos.x(),MyoldMousePos.y());
		//qDebug("oldmouse.x == %d  oldmouse.y==%d\n",MyoldMousePos.x(),MyoldMousePos.y());
	stepx = prevPoint.x()-samp.x;
	stepy = prevPoint.y()-samp.y;
	pressure=samp.pressure;
	qDebug("point***************prev.x=%d prev.y=%d samp.x=%d samp.y=%d prePressure=%d \n",prevPoint.x(),prevPoint.y(),samp.x,samp.y,prevPressure);
	if (QABS(pressure-prevPressure)>200 ) 
	{
		//qDebug("pressure outarea********** pressure=%d  prePressure=%d\n",pressure,prevPressure);
//		
//		return;
	}
	
	if (QABS(stepx)<8 &&QABS(stepy)<8) 
	{
		sampPoint[ignoreCount].x=samp.x;
		sampPoint[ignoreCount].y=samp.y;
		ignoreCount ++ ;
		qDebug("ignoreCount=+++++++++++++++++++++++++++++%d\n",ignoreCount);
		
		if (ignoreCount>=5&&samp.pressure<0x40) 
		{
			prevPoint.setX(samp.x);
			prevPoint.setY(samp.y);
			prevPressure=samp.pressure;
			mouseChanged(mousePos,Qt::LeftButton);
			ignoreCount=0;
			prevPoint.setX(0xffff);
			prevPoint.setY(0xffff);
		}else
			if ( ignoreCount>=5)
			{
				totalx=totaly=0;
				for(int i=0;i<5;i++)
				{
					totalx += sampPoint[i].x;
					totaly += sampPoint[i].y;

				}
				ignoreCount=0;
				if (firstPoint)
				{
					prevPoint.setX(totalx/5);
					prevPoint.setY(totaly/5);
					return;
				}else
				{
					samp.x=totalx/5;
					samp.y=totaly/5;
				}
			}else return;
		
	}
	firstPoint=0;
	stepx = prevPoint.x()-samp.x;
	stepy = prevPoint.y()-samp.y;
    
	qDebug("OK********** stepx=%d  stepy=%d presure=%d\n",stepx,stepy,(prevPressure+samp.pressure)/2);

	stepx=(stepx/7.5);//*2;
	
		stepy=(stepy/15.5);//*2;
		if (QABS(stepx)>40 || QABS(stepy)>20)
			return;
	//if (QABS(stepx)>40) return;
	//if (QABS(stepy)>20) return;
	pressure = (prevPressure+samp.pressure)/2;
	prevPoint.setX(samp.x);
	prevPoint.setY(samp.y);
	prevPressure=samp.pressure;
	

///    qDebug("Mouse current mouse.x = %d  mouse.y = %d\n",mousePos.x(),mousePos.y());
	///if (stepx>5||stepy>5) return;
	mousePos.setX(MyoldMousePos.x()+stepx);
	mousePos.setY(MyoldMousePos.y()+stepy);
	limitToScreen(mousePos);
			 
	mouseChanged(mousePos,0);
	prevPoint.setX(0xffff);
	prevPoint.setY(0xffff);
	
}
/*
void QLubbockTPanelHandlerPrivate::readMouseData()  ///good
{
    struct ts_sample samp;
	struct ts_sample samp1;
	struct input_event ev;
    int ret,ret1,stepx,stepy,pressure;
	int currXdir,currYdir;
    QPoint MyoldMousePos;
    if(!qt_screen)
		return;

	//qDebug("Mouse current mouse.x = %d  mouse.y = %d\n",mousePos.x(),mousePos.y());
	//qDebug("Mouse current mouse.x = %d  mouse.y = %d\n",mousePos.x(),mousePos.y());
	//qDebug("Mouse current mouse.x = %d  mouse.y = %d\n",mousePos.x(),mousePos.y());
		ret = read(ts->fd, &ev, sizeof(struct input_event));
     if ( ret == sizeof(struct input_event) )
	 {
		 //qDebug("ev.value---->x = %x\n",ev.value);
		 if (ev.code ==ABS_X)
		 samp.x=ev.value;
		 else 
		 {
			 prevPoint.setX(0xffff);
			 prevPoint.setY(0xffff);
			 
			 return;
		 }

	 }else 
	 {
		 qDebug("ret error!!!!!!!!!!!!!!!!!!!!!!!!xxxx\n",ev.code);
		 prevPoint.setX(0xffff);
		 prevPoint.setY(0xffff);
		 
		 return;
	 }

	 ret = read(ts->fd, &ev, sizeof(struct input_event));
     if ( ret == sizeof(struct input_event))
	 {
		 //qDebug("ev.value---->y = %x\n",ev.value);
		 if(ev.code==ABS_Y)
		 samp.y=ev.value;
		 else 
		 {
			 prevPoint.setX(0xffff);
			 prevPoint.setY(0xffff);
			 
			 return;
		 }
		 
	 }else 
	 {
		 //qDebug("ev.code -------------y%d\n",ev.code);
		 qDebug("ret error!!!!!!!!!!!!!!!!!!!!!!!!yyyyyy\n",ev.code);
		 prevPoint.setX(0xffff);
		 prevPoint.setY(0xffff);
		 
		 return;}

	 ret = read(ts->fd, &ev, sizeof(struct input_event));
     if ( ret == sizeof(struct input_event))
	 {
		 //qDebug("ev.value---->pressure = %x\n",ev.value);
		 if (ev.code==ABS_PRESSURE)
		 samp.pressure=ev.value;
		 else 
		 {
			 prevPoint.setX(0xffff);
			 prevPoint.setY(0xffff);
			 
			 return;
		 }
		 
	 }else
	 {
		 //qDebug("ev.code -------------pressure%d\n",ev.code);
		 qDebug("ret error!!!!!!!!!!!!!!!!!!!!!!!!pressure\n",ev.code);
		 prevPoint.setX(0xffff);
		 prevPoint.setY(0xffff);
		
		 return;
	 }
	
    

	//qDebug("x===%d  y==%d   x1==%d  y1==%d p==%d\n",samp.x,samp.y,samp1.x,samp1.y,samp.pressure);
	//qDebug("x===%d  y==%d   x1==%d  y1==%d p==%d\n",samp.x,samp.y,samp1.x,samp1.y,samp.pressure);
	
	if (prevPoint.x()==0xffff)
	{
		prevPoint.setX(samp.x);
		prevPoint.setY(samp.y);
		prevPressure=samp.pressure;
		qDebug("First********** samp.x=%d  samp.y=%d samp.presure=%d\n",samp.x,samp.y,samp.pressure);
		return;
	}
	if (samp.pressure==0)
	{
		qDebug("this action is end-------------------------------");
		prevPoint.setX(0xffff);
		prevPoint.setY(0xffff);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
a级高清视频欧美日韩| 色婷婷国产精品综合在线观看| 日韩一区二区三区免费观看| 天天亚洲美女在线视频| 精品视频一区二区不卡| 亚洲男人的天堂在线aⅴ视频 | 亚洲国产色一区| 欧美性大战久久久久久久蜜臀| 亚洲精品国产精品乱码不99| 色综合久久久网| 亚洲愉拍自拍另类高清精品| 在线观看精品一区| 亚洲成年人影院| 在线播放日韩导航| 蜜臀精品一区二区三区在线观看| 91精品国产福利在线观看| 日韩成人一级大片| 欧美大片顶级少妇| 国产精品一区久久久久| 欧美国产国产综合| 波多野结衣中文字幕一区二区三区| 国产精品久久久久aaaa| 一本色道综合亚洲| 性做久久久久久久久| 6080yy午夜一二三区久久| 久久91精品国产91久久小草| 久久人人超碰精品| 北条麻妃一区二区三区| 亚洲一卡二卡三卡四卡无卡久久| 在线播放欧美女士性生活| 久久国产精品第一页| 久久日韩精品一区二区五区| 波多野结衣一区二区三区| 亚洲精品综合在线| 777午夜精品视频在线播放| 久久国产精品无码网站| 国产精品无码永久免费888| 91电影在线观看| 日本在线不卡视频| 国产欧美精品国产国产专区| 99re66热这里只有精品3直播| 亚洲图片一区二区| 精品福利av导航| heyzo一本久久综合| 亚洲成人精品一区二区| 欧美不卡一区二区三区| 福利视频网站一区二区三区| 亚洲激情在线激情| 欧美videofree性高清杂交| 高清国产午夜精品久久久久久| 一区二区三区四区精品在线视频| 欧美一区二区精美| 粉嫩蜜臀av国产精品网站| 亚洲第一电影网| xfplay精品久久| 色婷婷亚洲一区二区三区| 久久精品噜噜噜成人av农村| 国产精品国产三级国产三级人妇| 欧美日韩久久一区| 国产风韵犹存在线视精品| 亚洲在线中文字幕| 久久久精品国产99久久精品芒果| 91蜜桃网址入口| 久久99久久久久久久久久久| 中文字幕一区二区三区精华液| 在线电影一区二区三区| 成人夜色视频网站在线观看| 五月综合激情网| 欧美经典一区二区| 欧美一区二区高清| 色久综合一二码| 国产精品原创巨作av| 午夜精品成人在线视频| 欧美高清在线一区| 欧美一区二区视频免费观看| 99re亚洲国产精品| 国产综合久久久久久鬼色| 亚洲一区二区欧美| 欧美国产日韩亚洲一区| 日韩一区二区免费在线观看| 色综合天天综合网天天狠天天 | 成人黄色小视频在线观看| 婷婷久久综合九色综合绿巨人 | 福利一区二区在线观看| 日本色综合中文字幕| 一区二区高清视频在线观看| 久久精品男人天堂av| 欧美一级理论片| 欧美在线观看一区| 97久久精品人人做人人爽| 国产黑丝在线一区二区三区| 欧美aⅴ一区二区三区视频| 亚洲激情在线播放| 国产精品伦理在线| 久久久久88色偷偷免费| 日韩欧美亚洲一区二区| 欧美午夜电影网| 色综合久久综合网欧美综合网| 国产成人8x视频一区二区| 美女尤物国产一区| 日韩极品在线观看| 亚洲综合小说图片| 亚洲精品免费电影| 国产精品国产三级国产专播品爱网| 久久综合色婷婷| 日韩精品一区二区在线| 欧美精品久久久久久久多人混战| 色94色欧美sute亚洲线路一久| 成人黄页在线观看| 成人性生交大合| 国产乱人伦精品一区二区在线观看| 蜜桃一区二区三区在线观看| 丝袜国产日韩另类美女| 亚洲成人在线免费| 亚洲一区二区影院| 亚洲与欧洲av电影| 亚洲国产精品一区二区www| 一区二区三区在线视频免费观看| 国产精品乱人伦| 国产精品每日更新| 中文字幕亚洲一区二区av在线| 国产欧美一区二区三区在线老狼| 欧美精品一区二区三区很污很色的 | av日韩在线网站| 成人免费高清视频| 成人亚洲精品久久久久软件| 成人亚洲一区二区一| 波多野结衣的一区二区三区| 99久久免费视频.com| 91免费在线视频观看| 日本精品一区二区三区高清 | 亚洲国产一区二区视频| 亚洲综合激情网| 亚洲电影激情视频网站| 视频一区二区国产| 免费在线一区观看| 激情文学综合插| 国产成人精品一区二区三区四区| 国产不卡在线视频| av不卡一区二区三区| 一道本成人在线| 欧美日韩成人在线| 日韩亚洲电影在线| 久久精品网站免费观看| 欧美激情一区二区三区蜜桃视频 | 一个色在线综合| 午夜精品福利在线| 蜜桃一区二区三区四区| 国产九九视频一区二区三区| 成人午夜激情片| 色狠狠av一区二区三区| 欧美精品丝袜中出| 日韩精品一区二区三区swag| 久久精品在这里| 亚洲欧美经典视频| 五月婷婷激情综合| 精品在线免费观看| 不卡av免费在线观看| 欧美视频日韩视频| 欧美一区二区福利视频| 国产视频在线观看一区二区三区 | 亚洲成人激情av| 美女视频第一区二区三区免费观看网站| 久久99久久精品欧美| 丁香六月久久综合狠狠色| 91国产成人在线| 日韩欧美成人一区| 国产精品成人免费| 亚洲精品中文在线| 国产精品毛片高清在线完整版| 国产精品传媒入口麻豆| 午夜伊人狠狠久久| 国产在线国偷精品免费看| 97久久超碰精品国产| 5858s免费视频成人| 国产欧美一区二区三区网站| 亚洲一区在线观看免费| 黑人巨大精品欧美一区| 99精品国产99久久久久久白柏| 欧美午夜电影网| 久久久激情视频| 亚洲国产视频网站| 国产美女精品一区二区三区| 色婷婷久久久久swag精品| 日韩精品中文字幕一区二区三区 | 7777精品伊人久久久大香线蕉| 精品久久久久久最新网址| 中文字幕欧美一区| 人人精品人人爱| 成人教育av在线| 国产精品视频看| 亚洲最大色网站| 狠狠色丁香婷综合久久| 色综合久久精品| 久久久三级国产网站| 亚洲综合色在线| 成人午夜视频福利| 欧美一区二区三区在| 综合欧美亚洲日本| 国产精品一区在线|