00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef TEDDY__GRAPHICS__FONT_H
00026 #define TEDDY__GRAPHICS__FONT_H
00027
00028
00029 #include "Teddy/Maths/Vector2.h"
00030
00031
00032 namespace Teddy {
00033 namespace Graphics {
00034
00035
00036 class Texture;
00037 class View;
00038
00039
00051 class Font {
00052 public:
00053 Font( const char *fname, const int mode=0 );
00054 Font();
00055
00056 void drawString( const Teddy::Maths::Vector2 &pos, const char *str, View *v );
00057 int getWidth ();
00058 int getHeight ();
00059
00060 static Font *default_font;
00061 static Font dummy_font;
00062
00063 public:
00064 static const int MODE_NORMAL;
00065 static const int MODE_NO_BLEND;
00066
00067 private:
00068 Texture *texture;
00069 Teddy::Maths::Vector2 tx [256];
00070 Teddy::Maths::Vector2 tsize[4];
00071 Teddy::Maths::Vector2 psize[4];
00072 Teddy::Maths::Vector2 pos;
00073 int mode;
00074 int cw;
00075 int ch;
00076 float tw;
00077 float th;
00078 };
00079
00080
00081 };
00082 };
00083
00084
00085 #endif // TEDDY__GRAPHICS__FONT_H
00086