private void CreateTransitions() { var bundle = NSBundle.MainBundle; // Shading & mask for transitions (borrowed from the "Fun House" Core Image example). var inputShadingImage = new CIImage(NSData.FromFile(bundle.PathForResource("restrictedshine", "tiff"))); var grayscaleImage = new CIImage(NSData.FromFile(bundle.PathForResource("grayscale", "jpg"))); transitionInputMaskImage = new CIImage(NSData.FromFile(bundle.PathForResource("transitionmask", "jpg"))); typeTransition = new CATransition(); typeTransition.Duration = driver != null ? driver.Model.TransitionSeconds : 0.5; typeTransition.Type = CATransition.TransitionPush; typeTransition.Subtype = CATransition.TransitionFromLeft; typeTransition.TimingFunction = CAMediaTimingFunction.FromName(CAMediaTimingFunction.EaseInEaseOut); barsSwipeTransition = new CIBarsSwipeTransition(); barsSwipeTransition.SetDefaults(); copyMachineTransition = new CICopyMachineTransition(); copyMachineTransition.SetDefaults(); disintegrateTransform = new CILanczosScaleTransform(); disintegrateTransform.SetDefaults(); disintegrateTransform.Image = transitionInputMaskImage; disintegrateTransition = new CIDisintegrateWithMaskTransition(); disintegrateTransition.SetDefaults(); dissolveTransition = new CIDissolveTransition(); dissolveTransition.SetDefaults(); flashTransition = new CIFlashTransition(); flashTransition.SetDefaults(); flashTransition.Color = new CIColor(NSColor.Black.CGColor); modTransition = new CIModTransition(); modTransition.SetDefaults(); pageCurlShadowTransition = CIFilter.FromName("CIPageCurlWithShadowTransition"); pageCurlShadowTransition.SetDefaults(); pageCurlShadowTransition.SetValueForKey(NSNumber.FromDouble(Math.PI / 4), (NSString) "inputAngle"); pageCurlShadowTransition.SetValueForKey(grayscaleImage, (NSString) "inputBacksideImage"); rippleTransition = new CIRippleTransition(); rippleTransition.SetDefaults(); rippleTransition.ShadingImage = inputShadingImage; swipeTransition = new CISwipeTransition(); swipeTransition.SetDefaults(); filterTransition = new CATransition(); filterTransition.filter = disintegrateTransition; filterTransition.Duration = typeTransition.Duration; // transitionFilters.Add(barsSwipeTransition); // transitionFilters.Add(copyMachineTransition); // transitionFilters.Add(disintegrateTransition); // transitionFilters.Add(dissolveTransition); // transitionFilters.Add(flashTransition); // transitionFilters.Add(modTransition); // transitionFilters.Add(pageCurlShadowTransition); // transitionFilters.Add(rippleTransition); // transitionFilters.Add(swipeTransition); }
public override void AwakeFromNib () { base.AwakeFromNib (); // We don't want a title since we have the "Xamarin Store" image in the Toolbar Window.Title = ""; // Make the background reeeeeal nice, Clark Window.BackgroundColor = NSColor.White; // Let's keep it simple and no zoom for now Window.StandardWindowButton (NSWindowButton.ZoomButton).Hidden = true; // Center the main window in the screen var windowSize = Window.Frame.Size; Window.SetFrame (new RectangleF ( new PointF ((Window.Screen.Frame.Width / 2f) - (windowSize.Width / 2f), (Window.Screen.Frame.Height / 2f) - (windowSize.Height / 2f)), windowSize), true); // Setup events for some buttons btnNavigationProducts.Activated += OnNavigationButtonActivated; btnNavigationShoppingBag.Activated += OnNavigationButtonActivated; ShoppingBasketViewController.CheckoutInitiated += OnCheckoutInitiated; // Setup main view animation for switching views viewCurrent.WantsLayer = true; // make sure we get a CoreLayer for the transition var viewTrans = new CATransition (); viewTrans.Type = CATransition.TransitionMoveIn; viewTrans.Subtype = CATransition.TransitionFromRight; viewTrans.Speed = 1.0f; // 1.0x default speed viewCurrent.Animations = NSDictionary.FromObjectAndKey (viewTrans, (NSString)"subviews"); // Setup handler for product selection ProductsViewController.ProductSelected += OnProductSelected; // Set the intial view and its size ProductsViewController.View.Frame = viewCurrent.Bounds; viewCurrent.AddSubview (ProductsViewController.View); lblViewTitle.StringValue = ProductsViewController.Title; _currentSubview = ProductsViewController.View; }