コード例 #1
0
		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);
		}
コード例 #2
0
		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;
		}