void ApplyFilter ()
{
CIVector center = CIVector.Create (Bounds.GetMidX (), Bounds.GetMidY ());
CIFilter torus = CIFilter.FromName ("CITorusLensDistortion");
var keys = new NSString[] { CIFilter.InputCenterKey,
CIFilter.InputRadiusKey,
CIFilter.InputWidthKey,
CIFilter.InputRefractionKey };
var values = new NSObject[] { center,
NSNumber.FromFloat (150),
NSNumber.FromFloat (2),
NSNumber.FromFloat (1.7f)};
torus.SetValuesForKeysWithDictionary (NSDictionary.FromObjectsAndKeys (values,keys));
torus.Name = "torus";
controls.BackgroundFilters = new CIFilter[] { torus };
AddAnimationToTorusFilter ();
}