public void Draw(BitmapCanvas canvas, DenseMatrix parentMatrix, byte parentAlpha) { LottieLog.BeginSection("GradientFillContent.Draw"); _path.Reset(); for (var i = 0; i < _paths.Count; i++) { _path.AddPath(_paths[i].Path, parentMatrix); } _path.ComputeBounds(out _boundsRect); Shader shader; if (_type == GradientType.Linear) { shader = LinearGradient; } else { shader = RadialGradient; } _shaderMatrix.Set(parentMatrix); shader.LocalMatrix = _shaderMatrix; _paint.Shader = shader; var alpha = (byte)(parentAlpha / 255f * _opacityAnimation.Value / 100f * 255); _paint.Alpha = alpha; canvas.DrawPath(_path, _paint); LottieLog.EndSection("GradientFillContent.Draw"); }
private void DrawGlyph(Path path, Paint paint, BitmapCanvas canvas) { if (paint.Color == Colors.Transparent) { return; } if (paint.Style == Paint.PaintStyle.Stroke && paint.StrokeWidth == 0) { return; } canvas.DrawPath(path, paint); }
public virtual void Draw(BitmapCanvas canvas, DenseMatrix parentMatrix, byte parentAlpha) { _paint.Color = _colorAnimation.Value; var alpha = (byte)(parentAlpha / 255f * _opacityAnimation.Value / 100f * 255); _paint.Alpha = alpha; _path.Reset(); for (var i = 0; i < _paths.Count; i++) { _path.AddPath(_paths[i].Path, parentMatrix); } canvas.DrawPath(_path, _paint); }
public virtual void Draw(BitmapCanvas canvas, Matrix3X3 parentMatrix, byte parentAlpha) { LottieLog.BeginSection("FillContent.Draw"); _paint.Color = _colorAnimation.Value; var alpha = (byte)(parentAlpha / 255f * _opacityAnimation.Value / 100f * 255); _paint.Alpha = alpha; _path.Reset(); for (var i = 0; i < _paths.Count; i++) { _path.AddPath(_paths[i].Path, parentMatrix); } canvas.DrawPath(_path, _paint); LottieLog.EndSection("FillContent.Draw"); }