Class CssScaleTransform
scale(), scaleX() or scaleY() (percentages are converted to factors).
public sealed record CssScaleTransform : CssTransformFunction, IEquatable<CssTransformFunction>, IEquatable<CssScaleTransform>
- Inheritance
-
CssScaleTransform
- Implements
- Inherited Members
Examples
// A CSS transform list, its matrix, and the functions it holds.
bool isTransform = CssTransformList.TryParse("translate(10px, 50%) rotate(45deg) scale(2)", out CssTransformList? css);
Matrix3x2 matrix = css!.ToMatrix((length, isX) => length.Unit == CssUnit.Percent ? length.Value * (isX ? 2 : 1) : length.Value);
foreach (CssTransformFunction function in css.Functions)
{
string kind = function switch
{
CssTranslateTransform t => $"translate {t.X} {t.Y}",
CssRotateTransform r => $"rotate {r.Degrees} about ({r.CenterX}, {r.CenterY})",
CssScaleTransform s => $"scale {s.X} {s.Y}",
CssSkewTransform k => $"skew {k.XDegrees} {k.YDegrees}",
CssMatrixTransform m => $"matrix {m.A} {m.B} {m.C} {m.D} {m.E} {m.F}",
CssUnsupportedTransform u => $"{u.Name} (3D, ignored)",
_ => "",
};
}
bool isOrigin = CssTransformOrigin.TryParse("left bottom", out CssTransformOrigin origin); // (0%, 100%, 0)
Constructors
CssScaleTransform(double, double)
scale(), scaleX() or scaleY() (percentages are converted to factors).
public CssScaleTransform(double X, double Y)
Parameters
Examples
// A CSS transform list, its matrix, and the functions it holds.
bool isTransform = CssTransformList.TryParse("translate(10px, 50%) rotate(45deg) scale(2)", out CssTransformList? css);
Matrix3x2 matrix = css!.ToMatrix((length, isX) => length.Unit == CssUnit.Percent ? length.Value * (isX ? 2 : 1) : length.Value);
foreach (CssTransformFunction function in css.Functions)
{
string kind = function switch
{
CssTranslateTransform t => $"translate {t.X} {t.Y}",
CssRotateTransform r => $"rotate {r.Degrees} about ({r.CenterX}, {r.CenterY})",
CssScaleTransform s => $"scale {s.X} {s.Y}",
CssSkewTransform k => $"skew {k.XDegrees} {k.YDegrees}",
CssMatrixTransform m => $"matrix {m.A} {m.B} {m.C} {m.D} {m.E} {m.F}",
CssUnsupportedTransform u => $"{u.Name} (3D, ignored)",
_ => "",
};
}
bool isOrigin = CssTransformOrigin.TryParse("left bottom", out CssTransformOrigin origin); // (0%, 100%, 0)
Properties
X
The x factor.
public double X { get; init; }
Property Value
Y
The y factor.
public double Y { get; init; }
Property Value
Methods
ToMatrix(Func<CssLength, bool, double>)
Gets the function as a matrix.
public override Matrix3x2 ToMatrix(Func<CssLength, bool, double> resolve)
Parameters
resolveFunc<CssLength, bool, double>Converts a length (possibly a percentage) to pixels; the flag is true for the x axis.
Returns
- Matrix3x2
The matrix (identity for an unsupported function).