#if !defined(AFX_SNAPDISPLAYDLG_H__EE17161B_B2B8_4C5D_B52C_B887AEDFB0A1__INCLUDED_)
#define AFX_SNAPDISPLAYDLG_H__EE17161B_B2B8_4C5D_B52C_B887AEDFB0A1__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// SnapDisplayDlg.h
//

/////////////////////////////////////////////////////////////////////////////
// CSnapDisplayDlg

class CSnapDisplayDlg : public CDialog
{
public:
	CSnapDisplayDlg(CWnd* pParent = NULL);

	//{{AFX_DATA(CSnapDisplayDlg)
	enum { IDD = IDD_SNAPDISPLAY_DIALOG };
	//}}AFX_DATA


	//{{AFX_VIRTUAL(CSnapDisplayDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV
	//}}AFX_VIRTUAL

protected:
	//{{AFX_MSG(CSnapDisplayDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnDestroy();
	afx_msg void OnPaint();
	afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
	afx_msg void OnSaveImage();
	afx_msg void OnClose();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	PBITMAPINFOHEADER m_pBitmapInfoHeader;
	PBYTE	m_pbyteImageBuffer;
	DWORD	m_dwWidth;
	DWORD	m_dwHeight;
	DWORD	m_dwPreviewPixelFormat;
	DWORD	m_dwImageBufferSize;
	BOOL	m_bNotSavedFg;
	BOOL	m_bImageDataExist;
	HANDLE	m_hCamera;
	HANDLE	m_hMutex;
	HMENU	m_hMenu;
	BOOL	bSaveImage(void);
public:
	BOOL	bUpdateSnapShot(HANDLE hCamera, DWORD dwWidth, DWORD dwHeight, DWORD dwPreviewPixelFormat, PBYTE pbyteImageBuffer, DWORD dwBufferSize, PDWORD pdwLastErrorNo);

};

//{{AFX_INSERT_LOCATION}}

#endif // !defined(AFX_SNAPDISPLAYDLG_H__EE17161B_B2B8_4C5D_B52C_B887AEDFB0A1__INCLUDED_)
