#pragma once

#include "bmFontChar.h"

class bmFont
{
private:
	GLint _textureWidth;
	GLint _textureHeight;
	void _DrawChar(bmFontChar *ch, float x, float y, float scale, float aspectRatio, float alpha);
public:
	GLuint Texturemap;
	float CharPadding;
	float PixelWidth, PixelHeight;
	bmFontChar* font;
	bmFont(int textureResourceId);
	bmFontChar* GetCharDetails(char charVal);
	void DrawStart();
	void DrawEnd();
	void AddChar(unsigned char charVal, int x, int y, int width, int height, int xOff, int yOff, int xAdvance);
	void DrawString(char* str, float x, float y, float scale, float aspectRatio, float time);
	void DrawChar(char charVal, float x, float y, float scale, float aspectRatio, float alpha);
	void Test();
	~bmFont(void);
};
