1 // Copyright (C) 2002-2012 Nikolaus Gebhardt
\r
2 // This file is part of the "Irrlicht Engine".
\r
3 // For conditions of distribution and use, see copyright notice in irrlicht.h
\r
5 #ifndef __I_GUI_FONT_BITMAP_H_INCLUDED__
\r
6 #define __I_GUI_FONT_BITMAP_H_INCLUDED__
\r
8 #include "IGUIFont.h"
\r
14 class IGUISpriteBank;
\r
17 class IGUIFontBitmap : public IGUIFont
\r
21 //! Returns the type of this font
\r
22 EGUI_FONT_TYPE getType() const override { return EGFT_BITMAP; }
\r
24 //! returns the parsed Symbol Information
\r
25 virtual IGUISpriteBank* getSpriteBank() const = 0;
\r
27 //! returns the sprite number from a given character
\r
28 virtual u32 getSpriteNoFromChar(const wchar_t *c) const = 0;
\r
30 //! Gets kerning values (distance between letters) for the font. If no parameters are provided,
\r
31 /** the global kerning distance is returned.
\r
32 \param thisLetter: If this parameter is provided, the left side kerning for this letter is added
\r
33 to the global kerning value. For example, a space might only be one pixel wide, but it may
\r
34 be displayed as several pixels.
\r
35 \param previousLetter: If provided, kerning is calculated for both letters and added to the global
\r
36 kerning value. For example, EGFT_BITMAP will add the right kerning value of previousLetter to the
\r
37 left side kerning value of thisLetter, then add the global value.
\r
39 s32 getKerningWidth(const wchar_t* thisLetter=0, const wchar_t* previousLetter=0) const override = 0;
\r
42 } // end namespace gui
\r
43 } // end namespace irr
\r