using System; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; namespace BansheeEngine { /** @addtogroup GUI_Engine * @{ */ /// Describes a single character in a font of a specific size. [StructLayout(LayoutKind.Sequential), SerializeObject] public partial struct CharDesc { /// Character ID, corresponding to a Unicode key. public uint charId; /// Index of the texture the character is located on. public uint page; /// Texture coordinates of the character in the page texture. public float uvX; /// Texture coordinates of the character in the page texture. public float uvY; /// Width/height of the character in texture coordinates. public float uvWidth; /// Width/height of the character in texture coordinates. public float uvHeight; /// Width/height of the character in pixels. public uint width; /// Width/height of the character in pixels. public uint height; /// Offset for the visible portion of the character in pixels. public int xOffset; /// Offset for the visible portion of the character in pixels. public int yOffset; /// Determines how much to advance the pen after writing this character, in pixels. public int xAdvance; /// Determines how much to advance the pen after writing this character, in pixels. public int yAdvance; /// /// Pairs that determine if certain character pairs should be closer or father together. for example "AV" combination. /// public KerningPair[] kerningPairs; } /** @} */ }