// Author : Chris Tolley
// Date   : 8/17/2004
// ScreenWriter.h contains the class declaration for a static class that
// allows the user to print text onto an orthographic screen


#if !defined(AFX_SCREENWRITER_H__00FA8763_9BF1_48C5_A9CF_8A595CC1E82A__INCLUDED_)
#define AFX_SCREENWRITER_H__00FA8763_9BF1_48C5_A9CF_8A595CC1E82A__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class ScreenWriter  
{
public:
	// Destructor
	virtual ~ScreenWriter();

	// Initializes the screen writer.  point it the font point. fontType
	// is the name of the font type.  hdc is the device context
	static bool Initialize( int point, const char* fontType );

	// Renders text to the screen in orthographic mode.  x,y is the position
	// to render at, color is a float[3] storing the color to make the text,
	// and text is the text to render
	static void Render( float x, float y, float* color, const char* text, ... );

	// Sets the device context
	static inline void SetHandle( HDC hdc ) { m_hdc = hdc; };
private:
	// Private constructor so we can't actually make an object of this type
	ScreenWriter();

	// The base for the font
	static unsigned int m_uiBase;

	// A device context for this application
	static HDC m_hdc;
};

#endif // !defined(AFX_SCREENWRITER_H__00FA8763_9BF1_48C5_A9CF_8A595CC1E82A__INCLUDED_)
