using System.Runtime.InteropServices;
namespace Raylib_cs;
/// 
/// Font type, defines generation method
/// 
public enum FontType
{
    /// 
    /// Default font generation, anti-aliased
    /// 
    Default = 0,
    /// 
    /// Bitmap font generation, no anti-aliasing
    /// 
    Bitmap,
    /// 
    /// SDF font generation, requires external shader
    /// 
    Sdf
}
/// 
/// GlyphInfo, font characters glyphs info
/// 
[StructLayout(LayoutKind.Sequential)]
public partial struct GlyphInfo
{
    /// 
    /// Character value (Unicode)
    /// 
    public int Value;
    /// 
    /// Character offset X when drawing
    /// 
    public int OffsetX;
    /// 
    /// Character offset Y when drawing
    /// 
    public int OffsetY;
    /// 
    /// Character advance position X
    /// 
    public int AdvanceX;
    /// 
    /// Character image data
    /// 
    public Image Image;
}
/// 
/// Font, font texture and GlyphInfo array data
/// 
[StructLayout(LayoutKind.Sequential)]
public unsafe partial struct Font
{
    /// 
    /// Base size (default chars height)
    /// 
    public int BaseSize;
    /// 
    /// Number of characters
    /// 
    public int GlyphCount;
    /// 
    /// Padding around the glyph characters
    /// 
    public int GlyphPadding;
    /// 
    /// Texture atlas containing the glyphs
    /// 
    public Texture2D Texture;
    /// 
    /// Rectangles in texture for the glyphs
    /// 
    public Rectangle* Recs;
    /// 
    /// Glyphs info data
    /// 
    public GlyphInfo* Glyphs;
}