亚洲欧美第一页_禁久久精品乱码_粉嫩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精品一区二区三区| 在线看日韩精品电影| 久久久久久毛片| 亚洲一区二区三区四区在线免费观看 | 国产一区二区三区四区五区美女 | 国产精品自产自拍| 91久久精品午夜一区二区| 日韩限制级电影在线观看| 中文字幕一区av| 国产一区二区毛片| 777奇米成人网| 亚洲欧洲日韩女同| 国产乱码精品一区二区三区av| 在线欧美小视频| 亚洲国产精品黑人久久久| 免费成人在线影院| 欧美日韩不卡视频| 国产精品不卡一区| 国产精品羞羞答答xxdd| 91精品国产综合久久久蜜臀图片| 亚洲精品乱码久久久久久日本蜜臀| 精东粉嫩av免费一区二区三区| 欧美视频一区二区三区| 日韩美女精品在线| 成人av电影在线观看| 久久久亚洲高清| 精品在线视频一区| 日韩一级免费观看| 日韩高清一级片| 欧美日韩国产系列| 一区二区三区四区精品在线视频| 成人h动漫精品| 欧美性感一区二区三区| 久久美女艺术照精彩视频福利播放| 色88888久久久久久影院按摩| 岛国精品在线播放| 色中色一区二区| 国产精品天美传媒沈樵| 国产精品伊人色| 亚洲精品在线电影| 国产一区二区伦理| 国产日本一区二区| 成人禁用看黄a在线| 国产精品伦理在线| 成人国产精品免费网站| 国产精品动漫网站| 日本高清免费不卡视频| 一区二区三区日韩精品| 欧美性色欧美a在线播放| 亚洲精品你懂的| 欧美三级中文字幕| 日本亚洲免费观看| 久久久综合视频| 成人国产在线观看| 亚洲另类在线一区| 7777精品伊人久久久大香线蕉超级流畅| 亚洲成年人影院| 欧美大片免费久久精品三p| 国产麻豆精品在线观看| 欧美国产精品一区二区| 色一情一乱一乱一91av| 婷婷久久综合九色综合伊人色| 欧美一区二区三区日韩视频| 激情欧美一区二区| 中文字幕一区日韩精品欧美| 在线观看日韩精品| 久久精品av麻豆的观看方式| 久久精品男人的天堂| 91亚洲精品乱码久久久久久蜜桃| 性久久久久久久| 久久九九全国免费| 欧美影院一区二区三区| 国产毛片一区二区| 成人免费一区二区三区在线观看| 欧美女孩性生活视频| 国产精品影音先锋| 亚洲自拍偷拍av| 久久综合久久鬼色中文字| 色www精品视频在线观看| 美腿丝袜亚洲三区| 一区二区视频在线| 欧美精品一区二区三区蜜桃视频| 色噜噜狠狠成人中文综合| 韩国成人在线视频| 亚洲制服欧美中文字幕中文字幕| 精品久久国产97色综合| 91黄色小视频| 国产精品一区二区视频| 亚洲电影第三页| 中文字幕中文乱码欧美一区二区| 91精品黄色片免费大全| 一本色道亚洲精品aⅴ| 国内精品嫩模私拍在线| 午夜精品视频一区| 亚洲色图欧美偷拍| 国产日韩欧美精品一区| 日韩免费看的电影| 欧美男生操女生| 一本大道av伊人久久综合| 国产成人亚洲精品狼色在线| 无吗不卡中文字幕| 亚洲一区二区三区精品在线| 国产精品欧美综合在线| 精品免费视频.| 91精品在线免费| 欧美在线免费视屏| 91麻豆国产香蕉久久精品| 成人教育av在线| 国产成人午夜高潮毛片| 国产真实乱对白精彩久久| 麻豆中文一区二区| 日韩在线一二三区| 亚洲国产精品自拍| 樱花影视一区二区| 一级中文字幕一区二区| 一区二区三区在线免费播放| 亚洲人成网站精品片在线观看| 国产欧美视频在线观看| 久久人人爽人人爽| 国产人成亚洲第一网站在线播放 | 欧美午夜在线观看| 欧美性生活一区| 欧美三级电影网| 欧美丝袜第三区| 欧美日韩国产在线观看| 在线成人免费视频| 日韩欧美中文字幕制服| 精品三级av在线| 久久亚洲影视婷婷| 欧美激情在线看| 亚洲欧美韩国综合色| 一区二区三区四区亚洲| 亚洲成人动漫在线免费观看| 天天色综合天天| 久久国产精品区| 国产精品456露脸| 成人性生交大片免费看视频在线 | 精品一区二区三区免费视频| 国内成人精品2018免费看| 国产精品一区二区久激情瑜伽 | 粉嫩aⅴ一区二区三区四区五区| 国产91精品在线观看| 99久久777色| 欧美日韩免费电影| 精品处破学生在线二十三| 亚洲国产精品二十页| 一级做a爱片久久| 麻豆久久一区二区| 成人禁用看黄a在线| 欧美日韩国产电影| 久久综合色综合88| 伊人婷婷欧美激情| 久久99久久99| 色综合视频一区二区三区高清| 欧美自拍偷拍午夜视频| 日韩精品一区二区三区视频播放 | 91精品国产综合久久精品图片| 2024国产精品视频| av资源站一区| 久久久久国产免费免费 | 夜夜精品浪潮av一区二区三区| 日韩电影在线观看电影| 欧美日韩久久一区二区| 精品嫩草影院久久| 久久草av在线| 综合久久给合久久狠狠狠97色 | 一区二区三区国产精华| 日产国产高清一区二区三区| 国产成人免费在线观看| 欧美日韩专区在线| 久久精品欧美一区二区三区不卡 | 国产精品你懂的| 美国一区二区三区在线播放| 99久久国产综合色|国产精品| 欧美一区二区三区啪啪| 亚洲免费观看高清完整版在线观看熊 | 欧美美女bb生活片| 日本一区二区三区国色天香 | 精品国产一区二区三区忘忧草| 国产精品国产三级国产三级人妇 | 亚洲成av人**亚洲成av**| 成人小视频免费观看| 日韩一区二区在线免费观看| 亚洲精品国产一区二区三区四区在线| 久久国产精品99久久人人澡| 91久久奴性调教| 国产精品久久久久三级| 国产毛片精品视频| 日韩女同互慰一区二区| 污片在线观看一区二区| 色天使色偷偷av一区二区 | 欧美v国产在线一区二区三区| 亚洲一区在线观看视频| 91一区二区在线观看| 国产精品大尺度| 成人国产在线观看|