MyGUI  3.4.0
MyGUI_FontData.h
Go to the documentation of this file.
1 /*
2  * This source file is part of MyGUI. For the latest info, see http://mygui.info/
3  * Distributed under the MIT License
4  * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
5  */
6 
7 #ifndef MYGUI_FONT_DATA_H_
8 #define MYGUI_FONT_DATA_H_
9 
10 #include "MyGUI_Prerequest.h"
11 #include "MyGUI_Types.h"
12 
13 namespace MyGUI
14 {
15 
16  namespace FontCodeType
17  {
18 
19  enum Enum
20  {
21  Tab = 0x0009,
22  LF = 0x000A,
23  CR = 0x000D,
24  Space = 0x0020,
25  NEL = 0x0085,
26 
27  // The following are special code points. These are used represent displayable text elements that do not correspond to
28  // any actual Unicode code point. To prevent collisions, they must be defined with values higher than that of the
29  // highest valid Unicode code point (0x10FFFF as of Unicode 6.1).
30  Selected = 0xFFFFFFFC, // Used for rendering text selections when they have input focus.
31  SelectedBack = 0xFFFFFFFD, // Used for rendering text selections when they don't have input focus.
32  Cursor = 0xFFFFFFFE, // Used for rendering the blinking text cursor.
33  NotDefined = 0xFFFFFFFF // Used to render substitute glyphs for characters that aren't supported by the current font.
34  };
35 
36  }
37 
38  // информация об одном символе
39  struct GlyphInfo
40  {
42  Char _codePoint = 0U,
43  float _width = 0.0f,
44  float _height = 0.0f,
45  float _advance = 0.0f,
46  float _bearingX = 0.0f,
47  float _bearingY = 0.0f,
48  const FloatRect& _uvRect = FloatRect()) :
49  codePoint(_codePoint),
50  width(_width),
51  height(_height),
52  advance(_advance),
53  bearingX(_bearingX),
54  bearingY(_bearingY),
55  uvRect(_uvRect)
56  {
57  }
58 
60  float width;
61  float height;
62  float advance;
63  float bearingX;
64  float bearingY;
66  };
67 
68  using VectorGlyphInfo = std::vector<GlyphInfo>;
69 
70 } // namespace MyGUI
71 
72 #endif // MYGUI_FONT_DATA_H_
MyGUI::FontCodeType::Enum
Enum
Definition: MyGUI_FontData.h:20
MyGUI::Char
unsigned int Char
Definition: MyGUI_Types.h:48
MyGUI::GlyphInfo::advance
float advance
Definition: MyGUI_FontData.h:62
MyGUI::FontCodeType::Selected
@ Selected
Definition: MyGUI_FontData.h:30
MyGUI::GlyphInfo::GlyphInfo
GlyphInfo(Char _codePoint=0U, float _width=0.0f, float _height=0.0f, float _advance=0.0f, float _bearingX=0.0f, float _bearingY=0.0f, const FloatRect &_uvRect=FloatRect())
Definition: MyGUI_FontData.h:41
MyGUI::GlyphInfo::bearingX
float bearingX
Definition: MyGUI_FontData.h:63
MyGUI::FontCodeType::SelectedBack
@ SelectedBack
Definition: MyGUI_FontData.h:31
MyGUI::types::TRect< float >
MyGUI::FontCodeType::NotDefined
@ NotDefined
Definition: MyGUI_FontData.h:33
MyGUI::VectorGlyphInfo
std::vector< GlyphInfo > VectorGlyphInfo
Definition: MyGUI_FontData.h:68
MyGUI::FontCodeType::CR
@ CR
Definition: MyGUI_FontData.h:23
MyGUI::GlyphInfo::uvRect
FloatRect uvRect
Definition: MyGUI_FontData.h:65
MyGUI::GlyphInfo
Definition: MyGUI_FontData.h:40
MyGUI_Prerequest.h
MyGUI::FontCodeType::Space
@ Space
Definition: MyGUI_FontData.h:24
MyGUI::FontCodeType::Cursor
@ Cursor
Definition: MyGUI_FontData.h:32
MyGUI::FloatRect
types::TRect< float > FloatRect
Definition: MyGUI_Types.h:33
MyGUI::GlyphInfo::codePoint
Char codePoint
Definition: MyGUI_FontData.h:59
MyGUI_Types.h
MyGUI::GlyphInfo::height
float height
Definition: MyGUI_FontData.h:61
MyGUI::GlyphInfo::bearingY
float bearingY
Definition: MyGUI_FontData.h:64
MyGUI::GlyphInfo::width
float width
Definition: MyGUI_FontData.h:60
MyGUI
Definition: MyGUI_ActionController.h:15
MyGUI::FontCodeType::NEL
@ NEL
Definition: MyGUI_FontData.h:25
MyGUI::FontCodeType::LF
@ LF
Definition: MyGUI_FontData.h:22
MyGUI::TabControl
TabControl properties. Skin childs. TabControl widget description should be here.
Definition: MyGUI_TabControl.h:30