
#ifndef SPECTRE_GRAPHICS_FONT_FONTDRIVER_H
#define SPECTRE_GRAPHICS_FONT_FONTDRIVER_H

#include <string>
#include <Spectre/Graphics/Image.h>
#include <Spectre/Graphics/Font.h>

class FontDriver
{
public :

	FontDriver();

	void setHinting(bool value);

	virtual bool setCharacterSize(unsigned int size) = 0;

	virtual bool loadFromFile(const std::string& filename) = 0;

	virtual Font::Glyph loadGlyph(unsigned int codepoint, Image& img, unsigned int outlineSize = 0) = 0;

	virtual std::string getName() = 0;

protected :

	// True if hinting is enabled. false otherwise.
	bool m_hinting;
};

#endif /* SPECTRE_GRAPHICS_FONT_FONTDRIVER_H */
