public void Draw(BitmapCanvas canvas, DenseMatrix parentMatrix, byte alpha) { var copies = _copies.Value.Value; var offset = _offset.Value.Value; var startOpacity = _transform.StartOpacity.Value.Value / 100f; var endOpacity = _transform.EndOpacity.Value.Value / 100f; for (var i = (int)copies - 1; i >= 0; i--) { _matrix.Set(parentMatrix); _matrix = MatrixExt.PreConcat(_matrix, _transform.GetMatrixForRepeater(i + offset)); float newAlpha = alpha * MiscUtils.Lerp(startOpacity, endOpacity, i / copies); _contentGroup.Draw(canvas, _matrix, (byte)newAlpha); } }
public override void DrawLayer(BitmapCanvas canvas, Matrix3X3 parentMatrix, byte parentAlpha) { _contentGroup.Draw(canvas, parentMatrix, parentAlpha); }