www.pudn.com > mmxswarm.zip > ChildView.h


// ChildView.h : interface of the CChildView class 
// 
// This is a part of the Microsoft Foundation Classes C++ library. 
// Copyright (c) Microsoft Corporation.  All rights reserved. 
// 
// This source code is only intended as a supplement to the 
// Microsoft Foundation Classes Reference and related 
// electronic documentation provided with the library. 
// See these sources for detailed information regarding the 
// Microsoft Foundation Classes product. 
// 
#pragma once 
#include "MMXSurface.h" 
#include "Swarm.h" 
 
///////////////////////////////////////////////////////////////////////////// 
// CChildView window 
 
class CChildView : public CWnd 
{ 
// Construction 
public: 
	CChildView(); 
 
// Attributes 
public: 
 
// Operations 
public: 
	BOOL OnIdle(LONG lCount); 
	CSurface *GetSurface() const 
	{ return(m_pSurface); } 
 
// Overrides 
protected: 
	virtual BOOL PreCreateWindow(CREATESTRUCT& cs); 
 
// Implementation 
public: 
	virtual ~CChildView(); 
 
	// Generated message map functions 
protected: 
	//{{AFX_MSG(CChildView) 
	afx_msg void OnPaint(); 
	afx_msg void OnTimer(UINT_PTR nIDEvent); 
	afx_msg void OnSize(UINT nType, int cx, int cy); 
	afx_msg BOOL OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message); 
	afx_msg void OnUpdateFPS(CCmdUI* pCmdUI); 
	afx_msg void OnUpdatePauseBlur(CCmdUI* pCmdUI); 
	afx_msg void OnUpdatePauseSwarm(CCmdUI* pCmdUI); 
	afx_msg void OnUpdatePauseBlit(CCmdUI* pCmdUI); 
	afx_msg void OnUpdateResolution(CCmdUI* pCmdUI); 
	afx_msg void OnUpdateImageFormats(CCmdUI* pCmdUI); 
	afx_msg void OnFileOpen(); 
	afx_msg void OnFileSave(); 
	afx_msg void OnViewPauseBlur(); 
	afx_msg void OnViewPauseSwarm(); 
	afx_msg void OnViewPauseBlit(); 
	afx_msg void OnImageFormats(UINT nID); 
	afx_msg BOOL OnEraseBkgnd(CDC* pDC); 
	//}}AFX_MSG 
	DECLARE_MESSAGE_MAP() 
private: 
	enum ESurface { 
		eNone				= 0, 
		e16BitSSE2Intrin	= IDD_16BIT_SSE2INTRINSICS, 
		e16BitMMXIntrin		= IDD_16BIT_MMXINTRINSICS, 
		e16BitGeneric		= IDD_16BIT_GENERICCBLUR, 
		e24BitSSE2Intrin	= IDD_24BIT_SSE2INTRINSICS, 
		e24BitMMXIntrin		= IDD_24BIT_MMXINTRINSICS, 
		e24BitGeneric		= IDD_24BIT_GENERICCBLUR, 
		e32BitSSE2Intrin	= IDD_32BIT_SSE2INTRINSICS, 
		e32BitMMXIntrin		= IDD_32BIT_MMXINTRINSICS, 
		e32BitGeneric		= IDD_32BIT_GENERICCBLUR, 
	}; 
 
	void CreateSurface(); 
 
	ESurface  m_eSurf; 
	CSurface *m_pSurface; 
	CSwarm	  m_swarm; 
 
	int		m_nFrameCounter; 
	int		m_nFilterLoad; // remember file/open filter 
	int		m_nFilterSave; // remember file/save filter 
	DWORD	m_dwTickStart; 
	bool	m_bSizeChanged; 
	bool	m_bPauseBlur; 
	bool	m_bPauseSwarm; 
	bool	m_bPauseBlit; 
	bool    m_bTimerPopped; 
 
	static const UINT_PTR m_kTimerID = 31; 
	static const UINT m_kTimerDelay = 1500; 
public: 
	afx_msg void OnDestroy(void); 
};