namespace Quik.Media
{
    /// 
    /// Glyph properties with metrics based on FreeType glyph metrics.
    /// 
    public struct QGlyphMetrics
    {
        /// 
        /// The code point for the character.
        /// 
        public int Rune { get; }
        // /// 
        // /// Location of the glyph on the atlas.
        // /// 
        // public QRectangle Location { get; }
        /// 
        /// Size of the glyph in units.
        /// 
        public QVec2 Size { get; }
        /// 
        /// Bearing vector for horizontal layout.
        /// 
        public QVec2 HorizontalBearing { get; }
        /// 
        /// Bearing vector for vertical layout.
        /// 
        public QVec2 VerticalBearing { get; }
        /// 
        /// Advance vector for vertical and horizontal layouts.
        /// 
        public QVec2 Advance { get; }
        public QGlyphMetrics(
            int character,
            // QRectangle location,
            QVec2 size,
            QVec2 horizontalBearing,
            QVec2 verticalBearing,
            QVec2 advance)
        {
            Rune = character;
            // Location = location;
            Size = size;
            HorizontalBearing = horizontalBearing;
            VerticalBearing = verticalBearing;
            Advance = advance;
        }
    }
}