Irrlicht 3D Engine
IGUIFont.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
2 // This file is part of the "Irrlicht Engine".
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
4 
5 #ifndef __I_GUI_FONT_H_INCLUDED__
6 #define __I_GUI_FONT_H_INCLUDED__
7 
8 #include "IReferenceCounted.h"
9 #include "SColor.h"
10 #include "rect.h"
11 #include "irrString.h"
12 
13 namespace irr
14 {
15 namespace gui
16 {
17 
20 {
23 
25 
29 
31 
33 
36 };
37 
39 class IGUIFont : public virtual IReferenceCounted
40 {
41 public:
42 
44 
51  virtual void draw(const core::stringw& text, const core::rect<s32>& position,
52  video::SColor color, bool hcenter=false, bool vcenter=false,
53  const core::rect<s32>* clip=0) = 0;
54 
56 
58  virtual core::dimension2d<u32> getDimension(const wchar_t* text) const = 0;
59 
61 
65  virtual s32 getCharacterFromPos(const wchar_t* text, s32 pixel_x) const = 0;
66 
68  virtual EGUI_FONT_TYPE getType() const { return EGFT_CUSTOM; }
69 
71  virtual void setKerningWidth (s32 kerning) = 0;
72 
74  virtual void setKerningHeight (s32 kerning) = 0;
75 
77 
87  virtual s32 getKerningWidth(const wchar_t* thisLetter=0, const wchar_t* previousLetter=0) const = 0;
88 
90  virtual s32 getKerningHeight() const = 0;
91 
93 
97  virtual void setInvisibleCharacters( const wchar_t *s ) = 0;
98 };
99 
100 } // end namespace gui
101 } // end namespace irr
102 
103 #endif
104 
virtual s32 getKerningHeight() const =0
Returns the distance between letters.
An external font type provided by the user.
Definition: IGUIFont.h:35
EGUI_FONT_TYPE
An enum for the different types of GUI font.
Definition: IGUIFont.h:19
virtual s32 getKerningWidth(const wchar_t *thisLetter=0, const wchar_t *previousLetter=0) const =0
Gets kerning values (distance between letters) for the font. If no parameters are provided,...
virtual EGUI_FONT_TYPE getType() const
Returns the type of this font.
Definition: IGUIFont.h:68
Everything in the Irrlicht Engine can be found in this namespace.
Definition: aabbox3d.h:12
Very simple string class with some useful features.
Definition: irrString.h:37
Font interface.
Definition: IGUIFont.h:39
signed int s32
32 bit signed variable.
Definition: irrTypes.h:70
Bitmap fonts loaded from an XML file or a texture.
Definition: IGUIFont.h:22
virtual core::dimension2d< u32 > getDimension(const wchar_t *text) const =0
Calculates the width and height of a given string of text.
virtual s32 getCharacterFromPos(const wchar_t *text, s32 pixel_x) const =0
Calculates the index of the character in the text which is on a specific position.
virtual void draw(const core::stringw &text, const core::rect< s32 > &position, video::SColor color, bool hcenter=false, bool vcenter=false, const core::rect< s32 > *clip=0)=0
Draws some text and clips it to the specified rectangle if wanted.
virtual void setInvisibleCharacters(const wchar_t *s)=0
Define which characters should not be drawn by the font.
virtual void setKerningWidth(s32 kerning)=0
Sets global kerning width for the font.
Class representing a 32 bit ARGB color.
Definition: SColor.h:314
Scalable vector fonts loaded from an XML file.
Definition: IGUIFont.h:28
A font which uses a the native API provided by the operating system.
Definition: IGUIFont.h:32
Base class of most objects of the Irrlicht Engine.
virtual void setKerningHeight(s32 kerning)=0
Sets global kerning height for the font.