summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.MacOS/Renderers/ActivityIndicatorRenderer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Platform.MacOS/Renderers/ActivityIndicatorRenderer.cs')
-rw-r--r--Xamarin.Forms.Platform.MacOS/Renderers/ActivityIndicatorRenderer.cs70
1 files changed, 0 insertions, 70 deletions
diff --git a/Xamarin.Forms.Platform.MacOS/Renderers/ActivityIndicatorRenderer.cs b/Xamarin.Forms.Platform.MacOS/Renderers/ActivityIndicatorRenderer.cs
deleted file mode 100644
index 2e179161..00000000
--- a/Xamarin.Forms.Platform.MacOS/Renderers/ActivityIndicatorRenderer.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-using System.ComponentModel;
-using System.Drawing;
-using AppKit;
-using CoreImage;
-
-namespace Xamarin.Forms.Platform.MacOS
-{
- public class ActivityIndicatorRenderer : ViewRenderer<ActivityIndicator, NSProgressIndicator>
- {
- static CIColorPolynomial s_currentColorFilter;
- static NSColor s_currentColor;
-
- protected override void OnElementChanged(ElementChangedEventArgs<ActivityIndicator> e)
- {
- if (e.NewElement != null)
- {
- if (Control == null)
- SetNativeControl(new NSProgressIndicator(RectangleF.Empty) { Style = NSProgressIndicatorStyle.Spinning });
-
- UpdateColor();
- UpdateIsRunning();
- }
-
- base.OnElementChanged(e);
- }
-
- protected override void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
- {
- base.OnElementPropertyChanged(sender, e);
-
- if (e.PropertyName == ActivityIndicator.ColorProperty.PropertyName)
- UpdateColor();
- else if (e.PropertyName == ActivityIndicator.IsRunningProperty.PropertyName)
- UpdateIsRunning();
- }
-
- void UpdateColor()
- {
- var color = Element.Color;
- if (s_currentColorFilter == null && color.IsDefault)
- return;
-
- if (color.IsDefault)
- Control.ContentFilters = new CIFilter[0];
-
- var newColor = Element.Color.ToNSColor();
- if (Equals(s_currentColor, newColor))
- return;
-
- s_currentColor = newColor;
-
- s_currentColorFilter = new CIColorPolynomial
- {
- RedCoefficients = new CIVector(s_currentColor.RedComponent),
- BlueCoefficients = new CIVector(s_currentColor.BlueComponent),
- GreenCoefficients = new CIVector(s_currentColor.GreenComponent)
- };
-
- Control.ContentFilters = new CIFilter[] { s_currentColorFilter };
- }
-
- void UpdateIsRunning()
- {
- if (Element.IsRunning)
- Control.StartAnimation(this);
- else
- Control.StopAnimation(this);
- }
- }
-} \ No newline at end of file