// Copyright (c) Six Labors. // Licensed under the Six Labors Split License. namespace SixLabors.Fonts.Tables.General.Colr { /// /// Represents a variation-aware 2x3 affine transformation matrix used by COLR v1 PaintVarTransform operations. /// Values are stored as Fixed 16.16 numbers with an associated variation index base for font variations. /// /// internal readonly struct VarAffine2x3 { /// /// The x-component of the x-basis vector. /// public readonly float Xx; /// /// The y-component of the x-basis vector. /// public readonly float Yx; /// /// The x-component of the y-basis vector. /// public readonly float Xy; /// /// The y-component of the y-basis vector. /// public readonly float Yy; /// /// The x-translation component. /// public readonly float Dx; /// /// The y-translation component. /// public readonly float Dy; /// /// The base index into the ItemVariationStore delta sets for this transform's variation data. /// public readonly uint VarIndexBase; /// /// Initializes a new instance of the struct. /// /// The x-component of the x-basis vector. /// The y-component of the x-basis vector. /// The x-component of the y-basis vector. /// The y-component of the y-basis vector. /// The x-translation component. /// The y-translation component. /// The base index into the ItemVariationStore delta sets. public VarAffine2x3(float xx, float yx, float xy, float yy, float dx, float dy, uint varIndexBase) { this.Xx = xx; this.Yx = yx; this.Xy = xy; this.Yy = yy; this.Dx = dx; this.Dy = dy; this.VarIndexBase = varIndexBase; } } }