00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef TTFONT_H
00020 #define TTFONT_H
00021
00022 #include "Font.h"
00023
00024
00025 typedef struct _TTF_Font TTF_Font;
00026
00027 class TTFont : public Pentagram::Font
00028 {
00029 public:
00030 TTFont(TTF_Font* font, uint32 rgb, int bordersize,
00031 bool antiAliased, bool SJIS);
00032 virtual ~TTFont();
00033
00034 virtual int getHeight();
00035 virtual int getBaseline();
00036 virtual int getBaselineSkip();
00037
00038 bool isAntialiased() { return antiAliased; }
00039
00040 virtual void getStringSize(const std::string& text,
00041 int& width, int& height);
00042
00043 virtual void getTextSize(const std::string& text,
00044 int& resultwidth, int& resultheight,
00045 unsigned int& remaining,
00046 int width=0, int height=0,
00047 TextAlign align=TEXT_LEFT, bool u8specials=false);
00048
00049 virtual RenderedText* renderText(const std::string& text,
00050 unsigned int& remaining,
00051 int width=0, int height=0,
00052 TextAlign align=TEXT_LEFT,
00053 bool u8specials=false,
00054 std::string::size_type cursor
00055 =std::string::npos);
00056
00057 ENABLE_RUNTIME_CLASSTYPE();
00058 protected:
00059 TTF_Font* ttf_font;
00060 uint32 rgb;
00061 int bordersize;
00062 bool antiAliased;
00063 bool SJIS;
00064
00065 uint16 bullet;
00066 };
00067
00068
00069 #endif