#if !defined(AFX_SETTINGSDIALOG_H__9B5F90E3_F6CC_4588_A0EC_14A118BB9724__INCLUDED_)
#define AFX_SETTINGSDIALOG_H__9B5F90E3_F6CC_4588_A0EC_14A118BB9724__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
// SettingsDialog.h : header file
//
#include <stdio.h>
#include <string.h>
#include "FncExtractor.h"
#include "FncExtractorParams.h"
#include "FncMatcher.h"

/////////////////////////////////////////////////////////////////////////////
// CSettingsDialog dialog

class CSettingsDialog : public CDialog
{
	DECLARE_DYNAMIC(CSettingsDialog)
// Construction
public:
	void ApplySettings();
	void DefaultValues();
	void SetExtractor(HFncExtractor * hExtractor);
	void SetMatcher(HFncMatcher  * hMatcher);

	CSettingsDialog(CWnd* pParent = NULL);   // standard constructor

// Dialog Data
	//{{AFX_DATA(CSettingsDialog)
	enum { IDD = IDD_SETTINGS };
	
	int m_DPI;
	int m_mode;
	int m_mode_m;
	int m_fextraction;
	int m_gfar;
	int m_mfar;
	int m_fmatching;
	int m_rotation;
	int m_fullsearch;
	int m_qualiti;
	int m_use_quality;
	HFncMatcher * pHMatcher;
	HFncExtractor * pHExtractor;

	int setingsBackup[11];
	//}}AFX_DATA


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


// Implementation
protected:

	// Generated message map functions
	//{{AFX_MSG(CSettingsDialog)
	afx_msg void OnDefault();
	virtual void OnOK();
	void SaveSetings();
	void LoadSetings();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
public:
	afx_msg void OnBnClickedCancel();
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_SETTINGSDIALOG_H__9B5F90E3_F6CC_4588_A0EC_14A118BB9724__INCLUDED_)
