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

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

?? okfunc.c

?? OK系列PCI圖象卡編程程序,MFC方式,壓縮形式
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*==============================================================================
*
*       filename        okFunc.c
*       purpose         API for okapi32.dll exam (Ok series image cards)
*       language        Microsoft Visual C 5.0
*       author          He Peng
*       date            00-8-20
*-----------------------
*       modify by       He Peng
*       purpose         
*       language        Microsoft Visual C 5.0 
*       date            00-10-16
*
*-----------------------
*
*		Copyright (C).  All Rights Reserved.
*
*
*==============================================================================*/

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#include <dos.h>
#include <memory.h>
#include <time.h>

#include<windows.h>

#include"resource.h"

#include "okapi32.h"


//---------------

#define		NUMINFILE		30
#define		SOURCENUMBER	3

//----global variables for board--------
HANDLE		hBoard;
BYTE		bActive=0;
short		total=2;
long		iCurrUsedNo=-1;//	

short		iNumImage=NUMINFILE;

short		bScrnCenter=1; //centerize
long		lScrnOffset;
short		sampwidth,sampheight;

short		bMaskMode=0; // mask disable

LPSTR		seqfile="ok.seq";
DWORD		dwMaxMemSize=30*1024*1024;
long		dwBufSize;

TARGET		CaptureTarget=SCREEN;	//采集目標
short		CaptureStart=1;			//采集起始幀
short		CaptureEnd=1;			//采集結束幀


LPBITMAPINFOHEADER	lpbi;
LPSTR				lpdib;
LPSTR				lpMemory;
BLOCKINFO			blkinfo;


BOOL				bDispToScreen=1;

//----local functions-------------------------------------

int	PrintReport(HWND hWnd, LPBITMAPINFOHEADER lpbi, LPSTR lpdib);

long SetBitmapHeader(LPBITMAPINFOHEADER lpbi,short width,short height, short bits, short form);
long SetDataToDIB(TARGET src, short start, LPBITMAPINFOHEADER lpbi, LPBYTE lpdib);
long GetTargetSize(HANDLE hBoard, TARGET tgt, short *width, short *heigth);

BOOL GetBitmapData(HANDLE hBoard, TARGET tgt, short start, LPBITMAPINFOHEADER lpbi, LPSTR lpdib);
BOOL GetBitmapHeader(HANDLE hBoard, TARGET src, LPBITMAPINFOHEADER lpbi);

HANDLE	OpenCard(HWND hWnd);
BOOL GetBitmapHeader(HANDLE hBoard, TARGET src, LPBITMAPINFOHEADER lpbi);
void EnableItem(HWND hWnd, int iMenuID, BOOL bEnable);
void DisplayDIBInfo(HWND hwnd);
void SetPaletteToWnd(HDC hDC);
HPALETTE MakeLogPalette(short iBits, short rgbForm);

//----------------------- window parts----------

HWND	hwnd;
HANDLE	hInst;
HANDLE  hAccTable;  // handle to accelerator table 
BOOL InitApplication(HINSTANCE);
BOOL InitInstance(HINSTANCE, int);

APIENTRY MainWndProc(HWND,UINT,WPARAM,LPARAM );
extern BOOL APIENTRY IddSource(HWND hDlg,unsigned message,UINT wParam,LONG lParam);
extern BOOL APIENTRY IddVideoParam(HWND hDlg,unsigned message,UINT wParam,LONG lParam);
extern BOOL APIENTRY IddMask(HWND hDlg,unsigned message,UINT wParam,LONG lParam);
extern BOOL APIENTRY IddCSetup(HWND hDlg,unsigned message,UINT wParam,LONG lParam);
extern BOOL APIENTRY IddOther(HWND hDlg,unsigned message,UINT wParam,LONG lParam);
extern BOOL APIENTRY IddOutLut(HWND hDlg,unsigned message,UINT wParam,LONG lParam);
extern BOOL APIENTRY IddTo8Bit(HWND hDlg,unsigned message,UINT wParam,LONG lParam);
extern BOOL APIENTRY SelectDlgProc(HWND hDlg,unsigned message,UINT wParam,LONG lParam);

BOOL CALLBACK BeginCapture(HANDLE hBoard);
BOOL CALLBACK BackDisplay(HANDLE hBoard,long no);
BOOL CALLBACK SetToScreen(HANDLE hBoard,long no);
BOOL CALLBACK EndCapture(HANDLE hBoard);
long GetFrameSize(HANDLE hBoard);
void ScreenDisplay(void);


/****************************************************************************

    FUNCTION: WinMain(HANDLE, HANDLE, LPSTR, int)

    PURPOSE: calls initialization function, processes message loop

****************************************************************************/
int PASCAL WinMain(hInstance, hPrevInstance, lpCmdLine, nCmdShow)
HINSTANCE hInstance;
HINSTANCE hPrevInstance;
LPSTR lpCmdLine;
int nCmdShow;
{
    MSG msg;


    if (!hPrevInstance)
    if (!InitApplication(hInstance))
        return (FALSE);

    if (!InitInstance(hInstance, nCmdShow))
        return (FALSE);

    hAccTable = LoadAccelerators(hInstance, "OkDemoAcc");
    while (GetMessage(&msg, NULL, 0,0)) {
		// Only translate message if it is not an accelerator message 
		if (!TranslateAccelerator(hwnd, hAccTable, &msg) ) {//|
		    	//!TranslateMDISysAccel (hwndMDIClient, &msg) ) {
		    TranslateMessage(&msg);
		    DispatchMessage(&msg);
		}
	}
    return (msg.wParam);
}


/****************************************************************************

    FUNCTION: InitApplication(HANDLE)

    PURPOSE: Initializes window data and registers window class

****************************************************************************/

BOOL InitApplication(hInstance)
HINSTANCE hInstance;
{
    WNDCLASS  wc;

    wc.style = CS_VREDRAW | CS_HREDRAW |CS_BYTEALIGNCLIENT ;
    wc.lpfnWndProc = MainWndProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = hInstance;
    wc.hIcon = LoadIcon(hInstance, "OkFuncIcon");//IDI_APPLICATION);
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);
    wc.lpszMenuName =  "OkFuncMenu";
    wc.lpszClassName = "OkFuncWClass";


    return (RegisterClass(&wc));
}


/****************************************************************************

    FUNCTION:  InitInstance(HANDLE, int)

    PURPOSE:  Saves instance handle and creates main window

****************************************************************************/

BOOL InitInstance(hInstance, nCmdShow)
    HINSTANCE          hInstance;
    int             nCmdShow;
{
	char	string[100];
    hInst = hInstance;

	LoadString(hInst, IDS_PROGRAMNAME, string,100);

    hwnd = CreateWindow("OkFuncWClass",
                        string,//"Demo Programm for Ok Image Device",
                        WS_OVERLAPPEDWINDOW,
                        CW_USEDEFAULT,
                        CW_USEDEFAULT,
                        CW_USEDEFAULT,
                        CW_USEDEFAULT,
                        NULL,
                        NULL,
                        hInstance,
                        NULL
                       );

    if (!hwnd)
        return (FALSE);

    ShowWindow(hwnd, nCmdShow|SW_MAXIMIZE);
	//SendMessage(hwnd,WM_SYSCOMMAND,SC_MAXIMIZE,0);


    return (TRUE);

}

//****************************************************************************/
APIENTRY MainWndProc(hWnd, message, wParam, lParam)
HWND hWnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
{
    switch (message)
    {
        case WM_CREATE:             // message: create window
			//新建
			hBoard=OpenCard(hWnd);
            break;
        case WM_CLOSE:				//close window
			//關閉
			okCloseBoard(hBoard); 
			GlobalFree((HGLOBAL)lpbi);  
			lpdib=0;
        case WM_DESTROY:
			//退出
			PostQuitMessage(0);
			break;
		case WM_MOUSEMOVE: 
			break;
		case WM_INITMENUPOPUP: //drop down menu
			//顯示下拉菜單則停止采集
			if(bActive)
				SendMessage(hWnd,WM_COMMAND,IDM_FREEZE,0);
			break;

/*		case WM_SYSCOMMAND:
			//最大化與最小化
			DefWindowProc(hWnd, message, wParam, lParam);
			if(wParam==SC_MINIMIZE || wParam==SC_RESTORE ) {
				if(wParam==SC_MINIMIZE)
					okStopCapture(hBoard);
				InvalidateRect(NULL,NULL,TRUE);
			}
			break;*/
		case WM_PAINT: 
			//重畫
		{
			PAINTSTRUCT	ps;
			HDC			hDC;
			LPBITMAPINFOHEADER	lpBI;
			LPBYTE				lpDIB;

			hDC=BeginPaint(hWnd,&ps);
			SetPaletteToWnd(hDC);

			lpBI=lpbi;
			lpDIB=lpdib;
			
			if(lpBI) {
				RECT	rect;	POINT	pt;

				GetClientRect(hWnd,&rect);
				if(lpBI->biHeight>rect.bottom)
					rect.top=lpBI->biHeight-rect.bottom;
				else
					rect.top=0;

				pt.x=LOWORD(lScrnOffset);
				pt.y=HIWORD(lScrnOffset);
				ClientToScreen(hWnd,&pt);
				//adjust x abs. offset to 4 align
				pt.x= pt.x%4 ? pt.x+4-pt.x%4 : pt.x;
				ScreenToClient(hWnd,&pt);

				SetDIBitsToDevice(hDC,pt.x,pt.y,
					lpBI->biWidth,lpBI->biHeight,				
					0,rect.top, 
					0,lpBI->biHeight,
					lpDIB,
					(LPBITMAPINFO)lpBI,DIB_RGB_COLORS);
				
			}

			EndPaint(hWnd,&ps);
			break;
		}//end paint
        case WM_COMMAND:
			if(bActive)
				okStopCapture(hBoard);	
			switch (LOWORD(wParam)) {
				case IDM_SELECTBOARD:
					//選用圖像卡,詳見okSelect.c
					DialogBox(hInst, "SelectBox", hWnd, (FARPROC)SelectDlgProc);
					break;
				case IDM_BDISPLAY:
					//回放
					ScreenDisplay();
					break;
				case IDM_EXITOKFUN:
					//退出
					SendMessage(hWnd,WM_CLOSE,0,0);
					break;
				case IDM_ACTIVE:
					//采集
					switch(CaptureTarget){
					case SCREEN:
						//屏幕
					GetBitmapHeader(hBoard, SCREEN, lpbi); 
					okSetToWndRect(hBoard,hWnd); 
					//UpdateWindow(hWnd);
					okStopCapture(hBoard); //confirm
					//specail capture to frame
					if( okGetTypeCode(hBoard,NULL)==OK_C70 ) {
						okCaptureTo(hBoard,FRAME,0,0);
						EnableItem(hWnd, IDM_ACTIVE, FALSE);
						EnableItem(hWnd, IDM_FREEZE, TRUE);
					} //normal to screen
					else if( okCaptureToScreen(hBoard)<=0 )
						MessageBox(hwnd,"Current Screen (VGA) format not supported\n Or video source not connected !", "Error",MB_OK);
					else {
						EnableItem(hWnd, IDM_ACTIVE, FALSE);
						EnableItem(hWnd, IDM_FREEZE, TRUE);
						bActive=1;
					}
						break;
					case FRAME:
						//幀存
						EnableItem(hWnd, IDM_FREEZE, TRUE);
						okCaptureTo(hBoard,FRAME,0,0); //cont.
						break;
					case BUFFER:
						//緩存
						EnableItem(hWnd, IDM_FREEZE, TRUE);
						okSetSeqCallback(hBoard,BeginCapture,BackDisplay,EndCapture);
						okCaptureTo(hBoard,BUFFER,(WORD)(CaptureStart-1),(LPARAM)(CaptureEnd-CaptureStart+1));//-1: loop infiniately
						break;
					case USERMEMORY:
						//內存
						EnableItem(hWnd, IDM_FREEZE, TRUE);
						okSetSeqCallback(hBoard,BeginCapture,BackDisplay,EndCapture);
						if(lpbi)
							okCaptureByBuffer(hBoard,(TARGET)lpMemory,(WORD)(CaptureStart-1),(LPARAM)(CaptureEnd-CaptureStart+1));
						break;
					case USERFILE:
						//文件
					EnableItem(hWnd, IDM_FREEZE, TRUE);
					okSetSeqCallback(hBoard,BeginCapture,BackDisplay,EndCapture);
					//first delete ok.seq
					DeleteFile(seqfile);
					okCaptureByBuffer(hBoard,(TARGET)seqfile,0,iNumImage);
					break;
					}//end select CaptureTarget
					break;
				case IDM_FREEZE:
					//凍結
					okStopCapture(hBoard);
					ValidateRect(hWnd,NULL);
					if(bActive) 
					{	
						//take buffer size
						GetBitmapHeader(hBoard, BUFFER, lpbi); 
						SetDataToDIB(SCREEN, 0, lpbi, lpdib);
						//GetBitmapData(hBoard, SCREEN, 0, lpbi, lpdib);
						DisplayDIBInfo(hWnd);
					}
					bActive=0;
					EnableItem(hWnd, IDM_FREEZE, FALSE);
					EnableItem(hWnd, IDM_ACTIVE, TRUE);
					break;
				case IDM_SOURCE:
					//視頻源設置 詳見okSource.c
					MessageBeep(MB_ICONEXCLAMATION);		
					DialogBox(hInst, (LPCSTR)IDD_SOURCE, hWnd, (FARPROC)IddSource);
					break;
				case IDM_PARA:
					//采集參數設置 詳見okParam.c
					MessageBeep(MB_ICONEXCLAMATION);		
					DialogBox(hInst, (LPCSTR)IDD_VIDEOPARAM, hWnd, (FARPROC)IddVideoParam);
					break;
				case ID_MASK:
					//采集位屏蔽,詳見okMask.c
					MessageBeep(MB_ICONEXCLAMATION);		
					DialogBox(hInst, (LPCSTR)IDD_MASK, hWnd, (FARPROC)IddMask);
					break;
				case ID_CAPTURESETUP:
					//采集設置 詳見okSetup.c
					MessageBeep(MB_ICONEXCLAMATION);		
					DialogBox(hInst, (LPCSTR)IDD_CAPTURESETUP, hWnd, (FARPROC)IddCSetup);
					if(CaptureTarget==SCREEN || CaptureTarget==FRAME) EnableItem(hWnd,IDM_BDISPLAY,FALSE);
					else EnableItem(hWnd,IDM_BDISPLAY,TRUE);
					break;
				case IDM_OTHER:
					//其它參數  詳見okOther.c
					MessageBeep(MB_ICONEXCLAMATION);		
					DialogBox(hInst, (LPCSTR)IDD_OTHER, hWnd, (FARPROC)IddOther);
					break;
				case ID_OUTLUT:
					//回顯設置,詳見okOutLut.c
					MessageBeep(MB_ICONEXCLAMATION);		
					DialogBox(hInst, (LPCSTR)IDD_OUTLUT, hWnd, (FARPROC)IddOutLut);
					break;
				case ID_TO8BIT:
					//10位卡設置,詳見okTo8Bit.c
					MessageBeep(MB_ICONEXCLAMATION);		
					DialogBox(hInst, (LPCSTR)IDD_TO8BIT, hWnd, (FARPROC)IddTo8Bit);
					break;
			}//end switch command
		default:
			return DefWindowProc(hWnd,message,wParam,lParam);
	}//end switch message
	return 0;
}

void ScreenDisplay(void)
{
	long no;
	BLOCKINFO	blk,blkTg;
	short		width,height;
	long		blkform;
	long		bufform;

	bufform=GetTargetSize(hBoard, BUFFER, &width, &height);
	if( (LOWORD(bufform)==FORM_GRAY10) || (LOWORD(bufform)==FORM_GRAY12) ) { //special  
		//blkform=okSetCaptureParam(hBoard,CAPTURE_SCRRGBFORMAT,GETCURRPARAM); //-1
		blkform=MAKELONG(FORM_GRAY8,8);
	}
	else //take same bits as buffer
		blkform=bufform;
	SetBitmapHeader(lpbi, width, height, HIWORD(blkform), LOWORD(blkform) );

	blk.lpBits=lpdib;
	blk.iBitCount=lpbi->biBitCount;
	blk.iWidth=(short)lpbi->biWidth;

	blkTg.lpBits=lpMemory;
	blkTg.iBitCount=lpbi->biBitCount;
	blkTg.iWidth=(short)lpbi->biWidth;

	if( okSetCaptureParam(hBoard,CAPTURE_SAMPLEFIELD,-1)==0 ) //sample in field by field
		if( LOWORD(okSetVideoParam(hBoard,VIDEO_SIGNALTYPE,-1))==1 ) //interlace video
			lpbi->biHeight*=2; //double size for ht

	blk.iHeight=-(short)lpbi->biHeight; //note: minus is for invert dib in y by ConvertRect	
	blkTg.iHeight=-(short)lpbi->biHeight;
	switch(CaptureTarget){
	case SCREEN:
		//屏幕
	case FRAME:
		//幀存
		break;
	case BUFFER:
		//緩存
		for(no=CaptureStart;no<=CaptureEnd;no++){
			if( (LOWORD(bufform)==FORM_GRAY10) ||(LOWORD(bufform)==FORM_GRAY12) ) { //special  
				//way 1
				okConvertRect(hBoard,(TARGET)&blk,0,BUFFER,(short)no,1);
				//way 2
				//okReadRectEx(hBoard,BUFFER,(short)no,lpdib, MAKELONG(FORM_GRAY8,1)); 
														 //read only red data
			}
			else {
				//way 1
				okTransferRect(hBoard,(TARGET)&blk,0,BUFFER,(short)no,1);
				//way 2
				//okReadRect(hBoard,BUFFER,(short)no,lpdib);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩电影一区| 91福利精品视频| 国产精品视频免费看| 大胆欧美人体老妇| 亚洲视频免费观看| 欧美三级电影网| 久久国产精品免费| 亚洲欧洲日产国产综合网| 色综合久久久久久久久久久| 一区av在线播放| 911精品国产一区二区在线| 免费久久99精品国产| 国产色一区二区| 91久久免费观看| 另类欧美日韩国产在线| 国产精品女上位| 欧美日韩国产经典色站一区二区三区| 蜜桃精品视频在线| 中文文精品字幕一区二区| 欧美在线一二三| 精品一区二区三区免费播放| 欧美激情中文字幕| 精品视频在线免费看| 国产精品99久久久久久久女警| 1区2区3区国产精品| 91精品国产综合久久福利软件| 国产成人精品免费视频网站| 亚洲va欧美va天堂v国产综合| 精品少妇一区二区三区免费观看 | 69堂精品视频| 粉嫩av一区二区三区粉嫩 | 中文在线资源观看网站视频免费不卡| 色婷婷综合久久| 激情文学综合丁香| 亚洲一二三四在线| 欧美国产一区在线| 欧美成人a视频| 欧洲一区在线电影| 成人午夜在线视频| 黄色日韩三级电影| 日韩精品成人一区二区在线| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产三级一区二区| 91精品一区二区三区在线观看| av动漫一区二区| 精久久久久久久久久久| 洋洋av久久久久久久一区| 久久综合av免费| 日韩一级片在线播放| 欧美伊人精品成人久久综合97 | 亚洲欧洲韩国日本视频| 26uuu亚洲综合色欧美| 欧美日韩一区高清| 91成人免费在线| 成人午夜电影网站| 国产一区二区三区在线观看免费 | 精品免费一区二区三区| 欧美自拍偷拍一区| 色哟哟在线观看一区二区三区| 国产精品小仙女| 麻豆精品新av中文字幕| 五月婷婷久久丁香| 一区二区三区日韩在线观看| 亚洲欧美区自拍先锋| 国产精品久久看| 中文字幕国产精品一区二区| 精品国产91洋老外米糕| 日韩欧美一级特黄在线播放| 日韩一区二区免费电影| 日韩欧美一二三区| 欧美tickling网站挠脚心| 日韩一区二区三区电影| 精品免费国产二区三区| 亚洲v日本v欧美v久久精品| 一区二区三区日韩欧美| 夜夜嗨av一区二区三区网页| 夜夜嗨av一区二区三区四季av| 一区二区三区在线播放| 夜夜精品浪潮av一区二区三区| 亚洲激情图片小说视频| 亚洲午夜国产一区99re久久| 亚洲一区中文在线| 午夜激情综合网| 日韩国产精品久久| 美女高潮久久久| 国产一区二区三区精品视频| 国产sm精品调教视频网站| 粉嫩aⅴ一区二区三区四区| av电影天堂一区二区在线观看| 99精品在线免费| 欧美日韩一区二区三区高清| 日韩欧美在线影院| 久久一区二区视频| 国产精品沙发午睡系列990531| 亚洲国产精品v| 日韩一区中文字幕| 亚洲高清不卡在线| 久久精品国产免费| 国产成人鲁色资源国产91色综 | 亚洲乱码国产乱码精品精小说| 亚洲免费观看高清完整版在线观看| 亚洲一二三专区| 国模少妇一区二区三区| 91在线播放网址| 91精品啪在线观看国产60岁| 精品国产一区二区三区不卡| 中文字幕在线观看不卡视频| 亚洲va天堂va国产va久| 国产成人在线看| 欧美最猛性xxxxx直播| 久久综合丝袜日本网| 亚洲欧美激情视频在线观看一区二区三区 | 狠狠狠色丁香婷婷综合激情| 成人av电影在线| 91精品国产综合久久久久| 日本欧美在线观看| 99精品在线观看视频| 日韩精品一区二区三区中文精品| 中文字幕亚洲成人| 免费观看日韩电影| 91美女精品福利| 欧美大胆人体bbbb| 一区二区三区欧美久久| 国产精品中文有码| 欧美三级电影网站| 国产精品免费久久| 久久综合综合久久综合| 欧洲精品一区二区三区在线观看| 久久久综合网站| 日本亚洲电影天堂| 色婷婷av一区二区三区大白胸| 精品国偷自产国产一区| 亚洲国产美女搞黄色| 成人免费高清视频| 久久影视一区二区| 青青草一区二区三区| 欧美唯美清纯偷拍| 中文字幕一区日韩精品欧美| 老司机一区二区| 制服丝袜在线91| 夜夜揉揉日日人人青青一国产精品 | 播五月开心婷婷综合| 精品91自产拍在线观看一区| 午夜欧美在线一二页| 色综合久久久久网| 国产精品高潮呻吟| 高清国产一区二区三区| 精品精品欲导航| 舔着乳尖日韩一区| 欧美性猛交xxxx乱大交退制版| 中文字幕一区二区三中文字幕| 国产精品自拍av| 国产亚洲一本大道中文在线| 麻豆国产精品一区二区三区 | 久久电影网站中文字幕| 91超碰这里只有精品国产| 亚洲国产成人av网| 在线观看日韩一区| 洋洋成人永久网站入口| 一本一道久久a久久精品综合蜜臀| 欧美国产一区二区在线观看| 国产成人日日夜夜| 国产日韩精品视频一区| 国产成人精品一区二| 久久亚洲影视婷婷| 国产一区二区三区电影在线观看| 日韩三级视频中文字幕| 久草这里只有精品视频| 久久婷婷综合激情| 国产激情视频一区二区三区欧美| 久久久久久久网| 成人91在线观看| 一区二区三区四区乱视频| 色88888久久久久久影院按摩 | 成人动漫在线一区| 亚洲人成网站精品片在线观看| 91麻豆高清视频| 一区二区高清在线| 这里只有精品免费| 精久久久久久久久久久| 欧美韩国日本不卡| 91久久线看在观草草青青| 亚洲综合免费观看高清完整版在线| 欧美三级电影精品| 九一九一国产精品| 国产精品美女久久久久久| 色视频一区二区| 日韩高清在线不卡| 欧美精品一区二区三区高清aⅴ| 国产.欧美.日韩| 一区二区三区日韩欧美精品| 日韩一区二区精品| 成人永久免费视频| 亚洲精品videosex极品| 制服丝袜激情欧洲亚洲| 成人爽a毛片一区二区免费| 国产精品资源在线观看| 一区二区在线观看视频 | 亚洲精品一区二区精华| 不卡av在线网|