Go to the documentation of this file.00001
00002
00003
00004
00005 #ifndef __I_GUI_FONT_H_INCLUDED__
00006 #define __I_GUI_FONT_H_INCLUDED__
00007
00008 #include "IReferenceCounted.h"
00009 #include "SColor.h"
00010 #include "rect.h"
00011 #include "irrString.h"
00012
00013 namespace irr
00014 {
00015 namespace gui
00016 {
00017
00019 enum EGUI_FONT_TYPE
00020 {
00022 EGFT_BITMAP = 0,
00023
00025
00028 EGFT_VECTOR,
00029
00031
00032 EGFT_OS,
00033
00035 EGFT_CUSTOM
00036 };
00037
00039 class IGUIFont : public virtual IReferenceCounted
00040 {
00041 public:
00042
00044
00051 virtual void draw(const core::stringw& text, const core::rect<s32>& position,
00052 video::SColor color, bool hcenter=false, bool vcenter=false,
00053 const core::rect<s32>* clip=0) = 0;
00054
00056
00058 virtual core::dimension2d<u32> getDimension(const wchar_t* text) const = 0;
00059
00061
00065 virtual s32 getCharacterFromPos(const wchar_t* text, s32 pixel_x) const = 0;
00066
00068 virtual EGUI_FONT_TYPE getType() const { return EGFT_CUSTOM; }
00069
00071 virtual void setKerningWidth (s32 kerning) = 0;
00072
00074 virtual void setKerningHeight (s32 kerning) = 0;
00075
00077
00087 virtual s32 getKerningWidth(const wchar_t* thisLetter=0, const wchar_t* previousLetter=0) const = 0;
00088
00090 virtual s32 getKerningHeight() const = 0;
00091
00093
00097 virtual void setInvisibleCharacters( const wchar_t *s ) = 0;
00098 };
00099
00100 }
00101 }
00102
00103 #endif
00104