#if !defined(AFX_RENDEREDVIEWWND_H__7944DBC2_5A13_11D2_8408_00A0C933BCAC__INCLUDED_)
#define AFX_RENDEREDVIEWWND_H__7944DBC2_5A13_11D2_8408_00A0C933BCAC__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// RenderedViewWnd.h : header file
//

#include <ElementRenderer\ElementRenderer.hpp>
#include <ElementRenderer\GroupElement.hpp>
#include <ElementRenderer\ListElement.hpp>
#include <ElementRenderer\StateChange.hpp>
#include <ElementRenderer\CameraElement.hpp>
#include <ElementRenderer\SwitchElement.hpp>
#include <ElementRenderer\ShapeElement.hpp>
#include <gosFX\gosFX.hpp>
#include <MLR\MLR.hpp>
#include <MLR\MLRHeaders.hpp>

#include"CameraInfo.h"
#include"TCTTerrainData.h"

/////////////////////////////////////////////////////////////////////////////
// CRenderedViewWnd frame

class CRenderedViewWnd : public CMDIChildWnd
{
	//	DECLARE_DYNCREATE(CRenderedViewWnd)
protected:
	
	// Attributes
public:
	MLRState state,state2;
	MLRTexture					*texture;
	ElementRenderer::CameraElement *Camera;
	ElementRenderer::StateChange *Camera_State;
	ElementRenderer::ListElement *Scene;
	TCTHeightField				*ActiveHField;
	DrawScreenQuadsInformation OverLayMap;
	bool OverLayMapLoaded;
	TGAFilePool					*pool;
	
	CRenderedViewWnd();           // protected constructor used by dynamic creation
	
	// Operations
public:
	void PreGosCleanUp();
	void UpdateHField(TCTHeightField &tdat);
	void ReDraw(CameraInfo &CamInfo);
	void UpdateCamera(CameraInfo &CamInfo);
	void PostGOSInit();
	void Fix3DView();
	virtual ~CRenderedViewWnd();
	
	// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CRenderedViewWnd)
protected:
	virtual LRESULT WindowProc(UINT message, WPARAM wParam, LPARAM lParam);
	//}}AFX_VIRTUAL
	
	// Implementation
protected:
	
	// Generated message map functions
	//{{AFX_MSG(CRenderedViewWnd)
	afx_msg void OnClose();
	afx_msg void OnPaint();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

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

#endif // !defined(AFX_RENDEREDVIEWWND_H__7944DBC2_5A13_11D2_8408_00A0C933BCAC__INCLUDED_)
