////////////////////////////////////////////////////////////////////////////////////////////////////
/// 
/// º¥Ä¡ Å¸ÀÌ¸Ó
///
///
/// 2007/03/15 ÀÛ¾÷ ½ÃÀÛ
///
/// 
/// @author   kippler@gmail.com
/// @date     2007-03-15 ¿ÀÈÄ 8:23:47
/// 
////////////////////////////////////////////////////////////////////////////////////////////////////

#pragma once
#include "CPU/CPU.h"


class CBenchTimerDlg : public CDialog
{
public:
	CBenchTimerDlg(CWnd* pParent = NULL);	// standard constructor

private :
	void		ProcessGo();
	void		ShowTime();
	void		SaveTime();
	void		LoadTime();
	void		SetBtnText();
	void		SetCPU();

	DWORD		m_dwPrevTick;		// Á»ÀüÀÇ ½Ã°£
	DWORD		m_dwTimeSum;		// ´©Àû ½Ã°£
	DWORD		m_dwSavedTime;		// ·¹Áö½ºÆ®¸®¿¡ ÀúÀåµÈ ½Ã°£
	BOOL		m_bNowGoing;		// ÁøÇàÁßÀÎ°¨?
	HFONT		m_hFontTime;		// Å« ±Û²Ã
	CPU			m_cpu;				// cpu Ã³¸®
	int			m_nCPUUsage;		// cpu %
	BOOL		m_bCPUTimer;		// cpu 5%ÀÌ»óÀÏ °æ¿ì¸¸ Ã³¸®ÇÏ±â?

// Dialog Data
	//{{AFX_DATA(CBenchTimerDlg)
	enum { IDD = IDD_BENCHTIMER_DIALOG };
	CProgressCtrl	m_progressCPU;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CBenchTimerDlg)
	public:
	virtual BOOL PreTranslateMessage(MSG* pMsg);
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CBenchTimerDlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	virtual void OnOK();
	virtual void OnCancel();
	afx_msg void OnStartPause();
	afx_msg void OnStop();
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnCheckCputimer();
	afx_msg void OnButtonHomepage();
	//}}AFX_MSG
	afx_msg LRESULT	OnPowerBroadcast(WPARAM w, LPARAM l);
	DECLARE_MESSAGE_MAP()
};


