Irrlicht 3D Engine: IGUIFont.h Source File

| Irrlicht 3D Engine |

IGUIFont.h
Go to the documentation of this file.

    00001 // Copyright (C) 2002-2012 Nikolaus Gebhardt
    00002 // This file is part of the "Irrlicht Engine".
    00003 // For conditions of distribution and use, see copyright notice in irrlicht.h
    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 } // end namespace gui
    00101 } // end namespace irr
    00102
    00103 #endif
    00104