protected override void Dispose(bool disposing) { if (disposing) { if (_pathProvider != null) { _pathProvider.Dispose(); _pathProvider = null; } _shadowLayer.RemoveFromSuperLayer(); _shadowLayer.Dispose(); _shadowLayer = null; if (_gradientProvider != null) { _gradientProvider.Dispose(); _gradientProvider = null; } if (_strokeGradientProvider != null) { _strokeGradientProvider.Dispose(); _strokeGradientProvider = null; } } base.Dispose(disposing); }
public void SetGradient(GradientBrush gradientBrush) { _dirty = true; _gradientProvider?.Dispose(); _gradientProvider = GradientProvidersContainer.Resolve( gradientBrush.GetType()); _gradientProvider?.SetGradient(gradientBrush); SetNeedsDisplay(); }
public void SetGradient(GradientBrush gradientBrush) { _dirty = true; _gradientProvider?.Dispose(); _gradientProvider = GradientProvidersContainer.Resolve( gradientBrush.GetType()); _gradientProvider?.SetGradient(gradientBrush); InvalidateSelf(); }
public void SetBorder(double strokeWidth, Color strokeColor, GradientBrush gradientBrush) { _dirty = true; _strokeWidth = (float)strokeWidth; _strokeColor = strokeColor.ToUIColor(); _strokeGradientProvider?.Dispose(); _strokeGradientProvider = GradientProvidersContainer.Resolve( gradientBrush.GetType()); _strokeGradientProvider?.SetGradient(gradientBrush); SetNeedsDisplay(); }
public void SetBorderGradient(GradientBrush gradientBrush) { _dirty = true; _strokeGradientProvider?.Dispose(); _strokeGradientProvider = GradientProvidersContainer.Resolve( gradientBrush.GetType()); _strokeGradientProvider?.SetGradient(gradientBrush); InvalidateSelf(); if (_strokeGradientProvider == null || !_strokeGradientProvider.HasGradient) { return; } _strokePaint.Color = Color.White.ToAndroid(); }
protected override void Dispose(bool disposing) { if (_disposed) { return; } _disposed = true; if (disposing) { if (_clipPath != null) { _clipPath.Dispose(); _clipPath = null; } if (_strokePathEffect != null) { _strokePathEffect.Dispose(); _strokePathEffect = null; } if (_gradientProvider != null) { _gradientProvider.Dispose(); _gradientProvider = null; } if (_strokeGradientProvider != null) { _strokeGradientProvider.Dispose(); _strokeGradientProvider = null; } _pathProvider = null; } DisposeBorder(disposing); base.Dispose(disposing); }