/*
	ZFontRendererBase.h
	Author: James Russell <jcrussell@762studios.com>

	Purpose: TODO

	Changelog
	2011/09/18 - creation (jcrussell)
*/

#pragma once

#ifndef _ZFONTRENDERERBASE_HPP
#define _ZFONTRENDERERBASE_HPP

#include <ZRendererUtil/ZFontRenderer.hpp>

class ZFontRendererBase : public ZFontRenderer
{
protected:
	//Our current font face
	ZFontFace currentFace;

public:
	/*
	Default Constructor.
	*/
	ZFontRendererBase();

	/*
	Destructor.
	*/
	virtual ~ZFontRendererBase();

	//Subclass Implementation
	virtual ZFontFace GetFontFace();

	//Subclass Implementation
	virtual void SetColor(unsigned int rgba);

	//Subclass Implementation
	virtual void SetFontFace(ZFontFace face);

	//Not Implemented
	virtual ZFontFace CreateFontFace( int PixelSize, const void* fontData, unsigned int dataSize ) = 0;

	//Not Implemented
	virtual void DeleteFontFace( ZFontFace face ) = 0;

	//Not Implemented
	virtual void BeginText( ZFrameContext _ctx, const SST_Mat44f& _xform ) = 0;

	//Not Implemented
	virtual void EndText() = 0;

	//Not Implemented
	virtual void RenderText( int x, int y, const char* text ) = 0;

	//Not Implemented
	virtual void ComputeBounds( const char* text, ZFontBounds* bounds ) = 0;

	//Not Implemented
	virtual void SetColor( float r, float g, float b, float a ) = 0;
};

#endif
 
