// ITPDlg.h :  Header file
//

#if !defined(AFX_ITPDLG_H__D62792CF_C66B_46A8_857F_C0AE1C555327__INCLUDED_)
#define AFX_ITPDLG_H__D62792CF_C66B_46A8_857F_C0AE1C555327__INCLUDED_

#include "VAIBO.h"
#include "ijl.h"		// Intel JPEG Library Header

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


/////////////////////////////////////////////////////////////////////////////
// define

enum E_IMAGE_SIZE_ID {
	E_IMAGE_SIZE_ID_0,
	E_IMAGE_SIZE_ID_1,
	MAX_E_IMAGE_SIZE_ID,
};


/////////////////////////////////////////////////////////////////////////////
// CITPDlg  dialog

class CITPDlg : public CDialog
{
// Construction
public:
	void SetPSDValue( int numOfData, SensorRec *pRecArray );
	CITPDlg(CVAIBO *vaibo, CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CITPDlg)
	enum { IDD = IDD_DLG_ITP };
	CProgressCtrl	m_psdProgress;
	CComboBox	m_skipCombo;
	CSliderCtrl	m_sliderExposure;
	//}}AFX_DATA

	//{{AFX_VIRTUAL(CITPDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

//  Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CITPDlg)
	virtual void OnOK();
	virtual BOOL	OnInitDialog();
	afx_msg void OnBtnSet();
	afx_msg void OnBtnStart();
	afx_msg void OnBtnStop();
	afx_msg void OnBtnSusRes();
	afx_msg void OnDestroy();
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnClose();
	afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
	afx_msg void OnRadioCameraAuto();
	afx_msg void OnRadioCameraManual();
	afx_msg void OnRadioCameraAEAWB();
	afx_msg void OnRadioSSpeed0();
	afx_msg void OnRadioSSpeed1();
	afx_msg void OnBtnPicture();
	afx_msg void OnRadioNormalSize();
	afx_msg void OnRadioExpansionSize();
	afx_msg void OnRadioImageSize1();
	afx_msg void OnRadioImageSize2();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

private:
	CVAIBO					*m_vaibo;
	JPEG_CORE_PROPERTIES	m_jpeg;				// For JPEG decoding
	int						m_imageBufLen;		// BMP data storage size
	unsigned char			*m_imageBuf;		// BMP data storage
	int						m_bitmapWidth;		// Bitmap width
	int						m_bitmapHeight;		// Bitmap height
	int						m_frameRate;		// Frame rate
	BOOL					m_playF;			// Playing flag
	int						m_skip;
	int						m_nThresh;
	int						m_bmpLen;
	BOOL					m_autoThreshF;
	BOOL					m_bThreshPlus;
	BOOL					m_cyberCodeOn;
	bool					m_isExpansion;		// Expanded flag
	int						m_nImageSizeID;		// Image size ID
	int						m_nViewWidth;		// Image size
	int						m_nViewHeight;		// Image size

	CButton& radioCameraAuto() { return *( CButton* )GetDlgItem( IDC_RADIO_CAMERA_AUTO ); }
	CButton& radioCameraManual() { return *( CButton* )GetDlgItem( IDC_RADIO_CAMERA_MANUAL ); }
	CButton& radioCameraAEAWB() { return *( CButton* )GetDlgItem( IDC_RADIO_CAMERA_AE_AWB ); }
	CButton& radioSSpeed0() { return *( CButton* )GetDlgItem( IDC_RADIO_SSPEED0 ); }
	CButton& radioSSpeed1() { return *( CButton* )GetDlgItem( IDC_RADIO_SSPEED1 ); }
	CEdit& editExposure() { return *( CEdit* )GetDlgItem( IDC_EDIT_EXPOSURE ); };

	CButton& radioImageSize1() { return *( CButton* )GetDlgItem( IDC_RADIO_IMAGE_SIZE1 ); }
	CButton& radioImageSize2() { return *( CButton* )GetDlgItem( IDC_RADIO_IMAGE_SIZE2 ); }
	CButton& radioViewSizeNormal() { return *( CButton* )GetDlgItem( IDC_RADIO_NORMAL_SIZE ); }
	CButton& radioViewSizeExpansion() { return *( CButton* )GetDlgItem( IDC_RADIO_EXPANSION_SIZE ); }

	void	ResizeImageSize();

};

//{{AFX_INSERT_LOCATION}}

#endif // !defined(AFX_ITPDLG_H__D62792CF_C66B_46A8_857F_C0AE1C555327__INCLUDED_)
