#if !defined(AFX_FINALBITMAPWND_H__D9E64DE1_5915_11D2_8408_00A0C933BCAC__INCLUDED_)
#define AFX_FINALBITMAPWND_H__D9E64DE1_5915_11D2_8408_00A0C933BCAC__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// FinalBitmapWnd.h : header file
//
#include"ViewSpline.h"
/////////////////////////////////////////////////////////////////////////////
// CFinalBitmapWnd frame
#include"TCTTerrainData.h"

class CFinalBitmapWnd : public CMDIChildWnd
{
	//	DECLARE_DYNCREATE(CFinalBitmapWnd)
protected:
	CBitmap DispBmp,DispBBuffer;
	int LastWidth,LastHeight,Adjust;
	float zfactor;
	CString hfname;
	CPen WhitePen,RedPen,BluePen,RDPen;
	CBrush RedBrush,BlueBrush;
	int curpnt;
	CPoint LastPoint;
	// Attributes
public:
	CRect crct;
	BITMAP DBmp;
	CFinalBitmapWnd();           // protected constructor used by dynamic creation
	virtual ~CFinalBitmapWnd();
	
	// Operations
public:
	void DrawGrid(ToDrawTriangle *tlist,int tnum);
	void DrawGrid(ToDrawTriangle **tlist,int tnum,COLORREF col,float cx,float cy,float rad);
	void BoundSpline(SplineLoop *ViewLoop);
	void DrawCamera();
	void UpdateDims();
	Stuff::Point3D MapToGrid(CPoint &pnt);
	CPoint GridToMap(Stuff::Point3D &pnt);
	void DrawViewSpline(SplineLoop *ViewLoop);
	void SetTitle();
	void ReDraw();
	void MakeDisplayedBmp(TCTTerrainData *tdat);
	
	// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CFinalBitmapWnd)
public:
	virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_OVERLAPPEDWINDOW, const RECT& rect = rectDefault, CMDIFrameWnd* pParentWnd = NULL, CCreateContext* pContext = NULL);
	//}}AFX_VIRTUAL
	
	// Implementation
protected:
	
	// Generated message map functions
	//{{AFX_MSG(CFinalBitmapWnd)
	afx_msg void OnDestroy();
	afx_msg void OnClose();
	afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
	afx_msg void OnPaint();
	afx_msg void OnSize(UINT nType, int cx, int cy);
	afx_msg void OnDropFiles(HDROP hDropInfo);
	afx_msg void OnEditPaste();
	afx_msg void OnMouseMove(UINT nFlags, CPoint point);
	afx_msg void OnLButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnLButtonUp(UINT nFlags, CPoint point);
	afx_msg void OnRButtonDown(UINT nFlags, CPoint point);
	afx_msg void OnRButtonUp(UINT nFlags, CPoint point);
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

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

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

#endif // !defined(AFX_FINALBITMAPWND_H__D9E64DE1_5915_11D2_8408_00A0C933BCAC__INCLUDED_)
