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

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

?? mastercontroldlg.cpp

?? Source code for cnc controlling three dimentioal machine
?? CPP
?? 第 1 頁 / 共 5 頁
字號:
// MasterControlDlg.cpp : implementation file
//

#include "stdafx.h"
#include "MasterControl.h"
#include "MasterControlDlg.h"
#include "speeds.h"
#include "pinouts.h"
#include "propaux.h"
#include "pulses.h"
#include "homeconf.h"
#include "Feeds.h"
#include "translation.h"
#include "conio.h"
#include "Ports.h"
#include "math.h"
#include "interpolate.h"
 

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

#define BASE 0x270
#define DA BASE+0
#define DB BASE+1
#define DC BASE+2
#define DCW BASE+3
#define PA BASE+4
#define PB BASE+5
#define PC BASE+6
#define PCW BASE+7
#define StopDelay 250 
#define MinDist  100


char cPortToUse='1';     /* set it for '1'=LPT1, '2'=LPT2, '3'=LPT3 */
char cOutData;           /* use this byte to get data from Ports */
char cInData;            /* use this byte to get data from Ports */
HANDLE        hDevice;



/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMasterControlDlg dialog

CMasterControlDlg::CMasterControlDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMasterControlDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMasterControlDlg)
	m_JogDist = 5.5;
	m_XGotoVar = 0.0;
	m_YGotoVar = 0.0;
	m_ZGotoVar = 0.0;
	m_XLocVar = 0.0;
	m_YLocVar = 0.0;
	m_ZLocVar = 0.0;
	m_CurLineInt = 0;
	m_Estimate = _T("");
	m_TimeLeft = _T("");
	m_Linear = 0.0;
	m_ZMin = 0.0;
	m_ZMax = 0.0;
	m_YMin = 0.0;
	m_YMax = 0.0;
	m_XMin = 0.0;
	m_XMax = 0.0;
	m_YLimit = 0.0;
	m_XLimit = 0.0;
	m_ZLimit = 0.0;
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CMasterControlDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMasterControlDlg)
	DDX_Control(pDX, IDC_AUTOEMERG, m_AutoButton);
	DDX_Control(pDX, IDC_ALLLIMIT, m_AllLimitButton);
	DDX_Control(pDX, IDC_ZLIMIT, m_ZLimitButton);
	DDX_Control(pDX, IDC_YLIMIT, m_YLimitButton);
	DDX_Control(pDX, IDC_XLIMIT, m_XLimitButton);
	DDX_Control(pDX, IDC_ROUTER, m_Router);
	DDX_Control(pDX, IDC_ENABLELED, m_EnableLed);
	DDX_Control(pDX, IDC_AUXLED3, m_AuxLed3);
	DDX_Control(pDX, IDC_AUXLED2, m_AuxLed2);
	DDX_Control(pDX, IDC_AUXLED1, m_AuxLed1);
	DDX_Control(pDX, IDC_LENGTH, m_LinearEd);
	DDX_Control(pDX, IDC_DISPLAY, m_Display);
	DDX_Control(pDX, IDC_RUNNING, m_Running);
	DDX_Control(pDX, IDC_DISPONLED, m_DispOnLed);
	DDX_Control(pDX, IDC_DISPOFFLED, m_DispOffLed);
	DDX_Control(pDX, IDC_CURRENT, m_CurLine);
	DDX_Control(pDX, IDC_FILENAME, m_PathName);
	DDX_Control(pDX, IDC_REMAINING, m_Remaining);
	DDX_Control(pDX, IDC_STARTTIME, m_StartTime);
	DDX_Control(pDX, IDC_UNITS, m_Units);
	DDX_Control(pDX, IDC_ZGOTO, m_ZGoTo);
	DDX_Control(pDX, IDC_YGOTO, m_YGoTo);
	DDX_Control(pDX, IDC_XGOTO, m_XGoTo);
	DDX_Control(pDX, IDC_GO, m_Go);
	DDX_Control(pDX, IDC_JOG, m_JogEdit);
	DDX_Control(pDX, IDC_LEDZHOME, m_LEDZHome);
	DDX_Control(pDX, IDC_LEDYHOME, m_LEDYHome);
	DDX_Control(pDX, IDC_LEDXHOME, m_LEDXHome);
	DDX_Control(pDX, IDC_LEDROUTE, m_LEDRoute);
	DDX_Control(pDX, IDC_LEDEMERG, m_LEDEmerg);
	DDX_Control(pDX, IDC_ZLOC, m_ZLoc);
	DDX_Control(pDX, IDC_YLOC, m_YLoc);
	DDX_Control(pDX, IDC_XLOC, m_XLoc);
	DDX_Control(pDX, IDC_DOWN, m_Down);
	DDX_Control(pDX, IDC_UP, m_Up);
	DDX_Control(pDX, IDCANCEL, m_Cancel);
	DDX_Control(pDX, IDC_YPLUS, m_YPlus);
	DDX_Control(pDX, IDC_YMINUS, m_YMinus);
	DDX_Control(pDX, IDC_XPLUS, m_XPlus);
	DDX_Control(pDX, IDC_XMINUS, m_XMinus);
	DDX_Text(pDX, IDC_JOG, m_JogDist);
	DDX_Text(pDX, IDC_XGOTO, m_XGotoVar);
	DDV_MinMaxDouble(pDX, m_XGotoVar, -9999., 9999.);
	DDX_Text(pDX, IDC_YGOTO, m_YGotoVar);
	DDX_Text(pDX, IDC_ZGOTO, m_ZGotoVar);
	DDX_Text(pDX, IDC_XLOC, m_XLocVar);
	DDX_Text(pDX, IDC_YLOC, m_YLocVar);
	DDX_Text(pDX, IDC_ZLOC, m_ZLocVar);
	DDX_Text(pDX, IDC_CURRENT, m_CurLineInt);
	DDX_Text(pDX, IDC_REMAINING, m_Estimate);
	DDX_Text(pDX, IDC_STARTTIME, m_TimeLeft);
	DDX_Text(pDX, IDC_LENGTH, m_Linear);
	DDX_Text(pDX, IDC_ZMIN, m_ZMin);
	DDX_Text(pDX, IDC_ZMAX, m_ZMax);
	DDX_Text(pDX, IDC_YMIN, m_YMin);
	DDX_Text(pDX, IDC_YMAX, m_YMax);
	DDX_Text(pDX, IDC_XMIN, m_XMin);
	DDX_Text(pDX, IDC_XMAX, m_XMax);
	DDX_Text(pDX, IDC_YLIMITCOOR, m_YLimit);
	DDX_Text(pDX, IDC_XLIMITCOOR, m_XLimit);
	DDX_Text(pDX, IDC_ZLIMITCOOR, m_ZLimit);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CMasterControlDlg, CDialog)
	//{{AFX_MSG_MAP(CMasterControlDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_PREFS, OnPrefs)
	ON_COMMAND(IDD_ABOUT, OnAbout)
	ON_BN_CLICKED(IDC_XPLUS, OnXplus)
	ON_BN_CLICKED(IDC_XMINUS, OnXminus)
	ON_BN_CLICKED(IDC_YMINUS, OnYminus)
	ON_BN_CLICKED(IDC_YPLUS, OnYplus)
	ON_BN_CLICKED(IDC_UP, OnUp)
	ON_BN_CLICKED(IDC_DOWN, OnDown)
	ON_BN_CLICKED(IDC_GO, OnGo)
	ON_BN_CLICKED(IDC_HOMEALL, OnHomeall)
	ON_BN_CLICKED(IDC_HOMEX, OnHomex)
	ON_BN_CLICKED(IDC_HOMEY, OnHomey)
	ON_BN_CLICKED(IDC_HOMEZ, OnHomez)
	ON_BN_CLICKED(IDC_SETHOME, OnSethome)
	ON_WM_CREATE()
	ON_COMMAND(IDD_OPEN, OnOpen)
	ON_BN_CLICKED(IDC_DISPOFF, OnDispoff)
	ON_BN_CLICKED(IDC_DISPON, OnDispon)
	ON_WM_TIMER()
	ON_BN_CLICKED(IDC_RUN, OnRun)
	ON_BN_CLICKED(IDC_PAUSE, OnPause)
	ON_BN_CLICKED(IDC_SIMULATE, OnSimulate)
	ON_BN_CLICKED(IDC_RESET, OnReset)
	ON_BN_CLICKED(IDC_AUX1, OnAux1)
	ON_BN_CLICKED(IDC_AUX2, OnAux2)
	ON_BN_CLICKED(IDC_AUX3, OnAux3)
	ON_BN_CLICKED(IDC_SAFETY, OnSafety)
	ON_BN_CLICKED(IDC_ROUTER, OnRouter)
	ON_BN_CLICKED(IDC_XLIMIT, OnXlimit)
	ON_BN_CLICKED(IDC_YLIMIT, OnYlimit)
	ON_BN_CLICKED(IDC_ZLIMIT, OnZlimit)
	ON_BN_CLICKED(IDC_ALLLIMIT, OnAlllimit)
	ON_BN_CLICKED(IDC_AUTOEMERG, OnAutoemerg)
	ON_COMMAND(IDC_PREFS, OnPrefs)
	ON_BN_CLICKED(IDC_FEEDS, OnFeeds)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMasterControlDlg message handlers

BOOL CMasterControlDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.
	OnAbout();

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	const PCHAR VxDName = "\\\\.\\PORTS.VXD";
    hDevice = CreateFile(VxDName, 0,0,0,CREATE_NEW, FILE_FLAG_DELETE_ON_CLOSE, 0);

    /* By now the PortIO95 VxD should be loaded - lets check */
 /*   if (hDevice == INVALID_HANDLE_VALUE)
        {
        /* Get the Last Error Value see also  ] */
 //       int err = GetLastError();
//		MessageBox( "PortIO Error",NULL, MB_OK );
        /* There is one error we have to handle carefully. It implies that
         * the   VxD was found ok but didn't handle the dyamic
         * loading properly. This error shouldn't happen. But if it
         * does we cope with it here. We dynamically unload the vxd
         * before we exit. NOTE there is no .VXD extension on this call
         * otherwise you really do delete the VXD file rather than just
         * forcing an unload. */
//        if (err == ERROR_NOT_SUPPORTED) DeleteFile("\\\\.\\PORTS");
//        exit(1);
//        }
	   SwapX = AfxGetApp( )->GetProfileInt("Preferences", "SwapX" , 0 ) != 0; 
	   SwapY = AfxGetApp( )->GetProfileInt("Preferences", "SwapY" , 0 ) != 0;
	   SwapZ = AfxGetApp( )->GetProfileInt("Preferences", "SwapZ" , 0 ) != 0;

	   LPT1 =  AfxGetApp( )->GetProfileInt("Preferences", "LPT1" , 1 ) != 0; 
	   LPT2 =  AfxGetApp( )->GetProfileInt("Preferences", "LPT2" , 0 ) != 0;
	   LPT3 =  AfxGetApp( )->GetProfileInt("Preferences", "LPT3" , 0 ) != 0;
	   LPT4 =  AfxGetApp( )->GetProfileInt("Preferences", "LPT4" , 0 ) != 0;
	   if( LPT1 ) cPortToUse = '1';
	   if( LPT2 ) cPortToUse = '2';
	   if( LPT3 ) cPortToUse = '3';
	   if( LPT4 ) cPortToUse = '4';

	   if(!( LPT1 || LPT2 || LPT3 || LPT4)) cPortToUse = '1';

	   int retval=DeviceIoControl(hDevice, PORTIO_SETPORT, &cPortToUse, sizeof(cPortToUse), NULL, 0, &hold, NULL);
	      
       if (!retval)
	   {
		   MessageBox( "Can't find Port, Turning off Selection",NULL, MB_OK ); 
  		   AfxGetApp( )->WriteProfileInt("Preferences", "LPT1" , 0 ); // turn them all off
	       AfxGetApp( )->WriteProfileInt("Preferences", "LPT2" , 0 );
	       AfxGetApp( )->WriteProfileInt("Preferences", "LPT3" , 0 );
	       AfxGetApp( )->WriteProfileInt("Preferences", "LPT4" , 0 );
	   }
       retval=DeviceIoControl(hDevice, PORTIO_SET_PINS_1_14_16_17_AS_OUTPUT, NULL, 0, NULL, 0, NULL, NULL);
	   retval=DeviceIoControl(hDevice, PORTIO_PIN1HIGH, NULL, 0, NULL, 0, NULL, NULL);
	   retval=DeviceIoControl(hDevice, PORTIO_PIN14HIGH, NULL, 0, NULL, 0, NULL, NULL);
	   retval=DeviceIoControl(hDevice, PORTIO_PIN16HIGH, NULL, 0, NULL, 0, NULL, NULL);
	   retval=DeviceIoControl(hDevice, PORTIO_PIN17HIGH, NULL, 0, NULL, 0, NULL, NULL);

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	m_Running.SetImage( IDB_GREENLED , 15 );
	m_LEDEmerg.SetImage( IDB_REDLED, 15 ); 
 
	m_LEDRoute.SetImage( IDB_GREENLED, 15 );
	m_LEDXHome.SetImage( IDB_GREENLED, 15 ); 
	m_LEDYHome.SetImage( IDB_GREENLED, 15 ); 
	m_LEDZHome.SetImage( IDB_GREENLED, 15 );
	m_DispOnLed.SetImage( IDB_GREENLED, 15 );
	m_DispOffLed.SetImage( IDB_REDLED,  15 );
	m_AuxLed1.SetImage(IDB_GREENLED, 15 );
	m_AuxLed2.SetImage(IDB_GREENLED, 15 );
	m_AuxLed3.SetImage(IDB_GREENLED, 15 );
    m_EnableLed.SetImage(IDB_GREENLED, 15 );
	m_AuxLed1.Depress(false);
	m_AuxLed2.Depress(false);
	m_AuxLed3.Depress(false);
    m_EnableLed.Depress(false);
	m_DispOnLed.Depress( true );
	m_DispOffLed.Depress( false );
	m_Running.Depress( false );
	m_LEDEmerg.Depress(false);  
	m_LEDRoute.Depress(false);
	m_LEDXHome.Depress(true);
	m_LEDYHome.Depress(true);
	m_LEDZHome.Depress(true);
	Emergency();
 
	IO48data = 0;
	if( ! QueryPerformanceFrequency( &frequency ))
	{
		 MessageBox(" No High-Res Hardware Counter found");
         exit(-1);
	}
	GLines.RemoveAll();
    FileLoaded = FALSE;
	FileLength = 0;
    cGLines = 0;
	TextBuffer = 0;
	steps = 0;
	vector = 0;
	DispOn = true;
	RUN = false;
	Simulate = false;
	Simulated = false;
	Dwell = 250;
	Spindle = false;
    XLimit = false; YLimit = false; ZLimit = false;
	EStop = false;
	Enable = false;
    m_XLimit = 0;	
    m_YLimit = 0;
    m_ZLimit = 0;
	Automatic = false;
	
	while( !SetupVars());
	 
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CMasterControlDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}


void CMasterControlDlg::OnCancel() 
{
	GLines.RemoveAll();
	if (TextBuffer)
       {
         free(TextBuffer);
         TextBuffer = 0;
       }
 	if( vector )  delete[] vector; 
   
    if( steps )   delete[] steps;  

	DeleteFile("\\\\.\\PORTS");
	KillTimer(1);
    int retval=DeviceIoControl(hDevice, PORTIO_UNSETPORT, NULL, 0, NULL, 0, NULL, NULL);
	CDialog::OnCancel();
	
}


// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.
void CMasterControlDlg::OnOpen() 
{
	
  CFileDialog *files = (CFileDialog*) new CFileDialog(TRUE,NULL,NULL,NULL,
	                                                  "ArtCam Code(*.tap)|*.tap|All Files(*.*)|*.*||",
													  NULL);   // add new file types here
  files->m_ofn.lpstrInitialDir = "c:\\My Documents\\";
  files->DoModal();
  
  m_PathName.SetWindowText(files->GetFileName());
  if ( !myFile.Open(files->GetPathName(), CFile::modeRead, &fileException ))
{
    TRACE( "Can't open file %s, error = %u\n",
       files->GetPathName(), fileException.m_cause );
	return;
}

  if (TextBuffer)
       {
         free(TextBuffer);
         TextBuffer = 0;
       }
	 
  FileLength = myFile.GetLength() + sizeof( char);
  TextBuffer = (LPSTR)malloc (FileLength);
  if( !TextBuffer)
        {
          AfxMessageBox(_T("Cannot allocate Memory for File"));
          return;
        }
  myFile.Read((LPVOID) TextBuffer, FileLength);
     // empty buffer array
  GLines.RemoveAll();
     // scan buffer for text line info
  BuildStringArray();
  FileLoaded = TRUE;
  Invalidate(TRUE); 
  delete files;
  m_LinearMM = 0;
  if( vector )  delete[] vector; 
  vector = (int*) new int[cGLines];
  if( steps )   delete[] steps;  
  steps = (int*) new int[cGLines]; 
  QuantifyVectors();
  TimeEstimate = 0;
  Simulated = false;
  myFile.Close();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99在线视频精品| 成人网页在线观看| 韩国毛片一区二区三区| av网站一区二区三区| 7777女厕盗摄久久久| 久久久不卡网国产精品二区| 亚洲精品欧美专区| 日本麻豆一区二区三区视频| 国产一区不卡精品| 日本国产一区二区| 久久久精品国产99久久精品芒果| 亚洲黄色免费网站| 国产美女精品人人做人人爽| 欧美午夜理伦三级在线观看| 国产午夜精品一区二区三区视频| 亚洲成人综合视频| 国产a久久麻豆| 91精品国产高清一区二区三区| 中文一区二区在线观看| 亚洲一区二区综合| 国产精品久99| 另类小说视频一区二区| 99久久精品国产一区二区三区| 制服丝袜中文字幕亚洲| 国产精品剧情在线亚洲| 男人的j进女人的j一区| 91免费观看在线| 国产婷婷色一区二区三区在线| 亚洲女与黑人做爰| 久久综合久久综合亚洲| 激情综合五月婷婷| 91行情网站电视在线观看高清版| 精品少妇一区二区三区在线视频| 亚洲一区二区精品3399| 成人爱爱电影网址| 国产精品丝袜在线| 日本不卡123| 欧美日韩国产精选| 亚洲一级二级在线| 欧美亚洲高清一区| 一区二区成人在线| 色婷婷综合久久久久中文| 亚洲一区二区三区中文字幕在线| 日本韩国精品在线| 日韩av在线免费观看不卡| 日韩亚洲欧美成人一区| 国产一区二区三区黄视频| 国产亚洲综合性久久久影院| www.亚洲激情.com| 国内精品视频一区二区三区八戒| 欧美日韩高清一区二区| 日日夜夜精品视频天天综合网| 91精品在线观看入口| 九色综合狠狠综合久久| 中文字幕免费不卡在线| 一本色道久久综合亚洲91| 日韩精品91亚洲二区在线观看| 精品久久人人做人人爽| av在线不卡电影| 日韩国产一二三区| 欧美国产国产综合| 8v天堂国产在线一区二区| 国产伦精品一区二区三区视频青涩| 中文字幕亚洲在| 欧美一区二区免费| 99久久精品国产麻豆演员表| 五月天久久比比资源色| 国产欧美精品一区| 91麻豆精品国产91久久久使用方法| 国产精品69久久久久水密桃| 亚洲国产精品久久久久婷婷884| 日韩欧美一区二区在线视频| 粉嫩绯色av一区二区在线观看| 亚洲一区二区三区四区在线免费观看 | 国产精品996| 国产精品一区二区黑丝| 亚洲欧洲综合另类| 久久中文娱乐网| 欧美性三三影院| 国产一区二区美女| 亚洲成人精品影院| 国产精品日日摸夜夜摸av| 91精品国产aⅴ一区二区| 91亚洲男人天堂| 国产综合色在线视频区| 亚洲高清免费视频| 中文字幕一区二区三区在线不卡| 日韩午夜电影av| 色妞www精品视频| 国产宾馆实践打屁股91| 日本不卡免费在线视频| 一区二区三区在线视频播放 | 久久精品国产亚洲5555| 亚洲综合久久久| 亚洲欧洲三级电影| 国产日产欧美一区| 26uuu欧美日本| 日韩一区二区在线观看| 欧美日韩一级二级三级| 在线免费不卡视频| 99国产精品国产精品久久| 国产乱理伦片在线观看夜一区| 日本aⅴ亚洲精品中文乱码| 一区二区三区精品久久久| 国产精品视频在线看| 久久久久久久久伊人| 欧美v日韩v国产v| 日韩女优av电影| 欧美成人精品1314www| 日韩一级在线观看| 日韩欧美国产综合| 26uuu欧美日本| 欧美精品一区二区三区很污很色的| 91精品国产综合久久精品图片 | 中文字幕一区二区三区不卡| 国产欧美视频一区二区三区| 久久久久99精品一区| 欧美—级在线免费片| 欧美激情一区二区三区蜜桃视频| 国产午夜精品久久久久久久| 国产拍欧美日韩视频二区| 久久久久久久久蜜桃| 久久精品在线观看| 国产嫩草影院久久久久| 中文字幕国产一区| 1000部国产精品成人观看| 亚洲三级免费电影| 一区二区三区日韩在线观看| 亚洲最色的网站| 国产一区二区久久| 成人毛片在线观看| 91天堂素人约啪| 欧美日韩一区二区三区视频| 欧美一级国产精品| 久久久久久久久伊人| 国产精品天美传媒| 亚洲色图欧洲色图婷婷| 亚洲国产精品一区二区久久恐怖片 | 国产精品一二三在| 99国产精品国产精品毛片| 欧美日韩国产高清一区二区 | 777奇米四色成人影色区| 精品国产免费久久| 中文字幕中文字幕在线一区| 亚洲综合一二区| 久久99精品久久久久婷婷| 成人高清免费在线播放| 精品视频色一区| 精品成人一区二区三区四区| 国产精品久久久久9999吃药| 午夜精品在线视频一区| 国产a级毛片一区| 欧美日韩黄色影视| 国产欧美日韩麻豆91| 亚洲综合一区二区精品导航| 国产综合色在线视频区| 欧美综合在线视频| 久久久久久夜精品精品免费| 亚洲国产一二三| 国产乱码精品一区二区三区五月婷| av一本久道久久综合久久鬼色| 欧美一区二区三区小说| 国产精品国产三级国产aⅴ入口 | 99久久久精品| 精品国产乱码久久久久久老虎 | 国产精品美女视频| 美日韩一区二区三区| 色天天综合色天天久久| 国产欧美日产一区| 久久精品国产一区二区三 | 91丨porny丨最新| 2023国产一二三区日本精品2022| 亚洲一线二线三线久久久| 国产suv精品一区二区6| 精品少妇一区二区三区在线播放| 依依成人精品视频| 顶级嫩模精品视频在线看| 日韩欧美123| 偷拍与自拍一区| 91美女在线视频| 国产精品久久网站| 国产精品一卡二| 久久久青草青青国产亚洲免观| 日日摸夜夜添夜夜添精品视频 | 91麻豆swag| 国产精品人妖ts系列视频 | 麻豆成人av在线| 欧美精品亚洲一区二区在线播放| 国产一区二三区| 精品久久久久久亚洲综合网| 丝袜诱惑制服诱惑色一区在线观看| 色狠狠一区二区三区香蕉| 亚洲视频在线一区观看| 不卡在线观看av| 国产精品网站导航| 丁香婷婷综合色啪| 中文字幕中文字幕中文字幕亚洲无线| 成人在线综合网站| 国产精品久久777777| 91美女蜜桃在线|