#ifndef SPOTWIN_H
#define SPOTWIN_H


#include "RMWin.h"

enum BEAM
{
	BEAM_NARROW,
	BEAM_NORMAL,
	BEAM_WIDE,
};

class SpotWin : public RMWin
{
public:
	SpotWin();
	BOOL CreateScene();
protected:
	//{{AFX_MSG(SpotWin)
	afx_msg void OnRenderWireframe();
	afx_msg void OnRenderFlat();
	afx_msg void OnRenderGouraud();
	afx_msg void OnUpdateRenderFlat(CCmdUI* pCmdUI);
	afx_msg void OnUpdateRenderGouraud(CCmdUI* pCmdUI);
	afx_msg void OnUpdateRenderWireframe(CCmdUI* pCmdUI);
	afx_msg void OnBeamNarrow();
	afx_msg void OnBeamNormal();
	afx_msg void OnBeamWide();
	afx_msg void OnUpdateBeamNarrow(CCmdUI* pCmdUI);
	afx_msg void OnUpdateBeamNormal(CCmdUI* pCmdUI);
	afx_msg void OnUpdateBeamWide(CCmdUI* pCmdUI);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
private:
	LPDIRECT3DRMMESH mesh3;
	LPDIRECT3DRMMESH mesh2;
	LPDIRECT3DRMMESH mesh1;
	int beamwidth;
	static void MoveLight(LPDIRECT3DRMFRAME frame, void* arg, D3DVALUE delta);
	LPDIRECT3DRMMESHBUILDER meshbuilder;
	LPDIRECT3DRMLIGHT spotlight;
};


#endif
