Beispiel #1
0
        //TODO just make this a virtual function in MaterialSet/overriden in MaterialSet
        public static MaterialSet Interpolate(MaterialSet a, MaterialSet b, double p)
        {
            var mixedSet = new AccentedMaterialSet()
            {
                P050 = Interpolate(a.P050, b.P050, p),
                P100 = Interpolate(a.P100, b.P100, p),
                P200 = Interpolate(a.P200, b.P200, p),
                P300 = Interpolate(a.P300, b.P300, p),
                P400 = Interpolate(a.P400, b.P400, p),
                P500 = Interpolate(a.P500, b.P500, p),
                P600 = Interpolate(a.P600, b.P600, p),
                P700 = Interpolate(a.P700, b.P700, p),
                P800 = Interpolate(a.P800, b.P800, p),
                P900 = Interpolate(a.P900, b.P900, p),
            };

            if (!(a is AccentedMaterialSet) || !(b is AccentedMaterialSet))
            {
                return(mixedSet);
            }

            var aa = (AccentedMaterialSet)a;
            var ab = (AccentedMaterialSet)b;

            mixedSet.A100 = Interpolate(aa.A100, ab.A100, p);
            mixedSet.A200 = Interpolate(aa.A200, ab.A200, p);
            mixedSet.A400 = Interpolate(aa.A400, ab.A400, p);
            mixedSet.A700 = Interpolate(aa.A700, ab.A700, p);

            return(mixedSet);
        }
Beispiel #2
0
        private void bubbleClicked(object s, MouseButtonEventArgs e)
        {
            var shellSize = ROOT_explosion.RenderSize.Largest() * 2;

            var bubble = s.RequireType <Ellipse>();

            lastSelectedTheme = bubble.Tag.RequireType <AccentedMaterialSet>();

            var cursor          = Mouse.GetPosition(ROOT_explosion);
            var explosionBubble = new Ellipse()
            {
                Width  = 1,
                Height = 1,
                Fill   = bubble.Fill,
                HorizontalAlignment = HorizontalAlignment.Left,
                VerticalAlignment   = VerticalAlignment.Top,
                //RenderTransformOrigin = new Point(.5, .5),
                Margin          = new Thickness(cursor.X, cursor.Y, 0, 0),
                RenderTransform = new ScaleTransform(1, 1, .5, .5)
            };

            ROOT_explosion.Children.Add(explosionBubble);

            //bubble.RenderTransform.animate(ScaleTransform.ScaleXProperty, 400, 1, 0, new BackEase
            //		{ EasingMode = EasingMode.EaseInOut, Amplitude = .3}, by:1.2);
            //bubble.RenderTransform.animate(ScaleTransform.ScaleYProperty, 400, 1, 0, new BackEase
            //		{ EasingMode = EasingMode.EaseInOut, Amplitude = .3}, by:1.2);

            explosionBubble.RenderTransform.animate(ScaleTransform.ScaleXProperty, 400, shellSize, 0, new BackEase
            {
                EasingMode = EasingMode.EaseInOut, Amplitude = .3
            });
            explosionBubble.RenderTransform.animate(ScaleTransform.ScaleYProperty, 400, shellSize, 0, new BackEase
            {
                EasingMode = EasingMode.EaseInOut, Amplitude = .3
            }, OnExplode);
            explosionBubble.animate(OpacityProperty, 200, 0, 500, new CubicEase
            {
                EasingMode = EasingMode.EaseIn
            }, OnExplodeComplete);
        }
Beispiel #3
0
 public void RaiseThemeSelectedEvent(AccentedMaterialSet e)
 {
     ThemeSelected?.Invoke(e);
 }
		public void RaiseThemeSelectedEvent(AccentedMaterialSet e)
		{
			ThemeSelected?.Invoke(e);
		}
		private void bubbleClicked(object s, MouseButtonEventArgs e)
		{
			var shellSize = ROOT_explosion.RenderSize.Largest() * 2;
			
			var bubble = s.RequireType<Ellipse>();
			lastSelectedTheme = bubble.Tag.RequireType<AccentedMaterialSet>();

			var cursor = Mouse.GetPosition(ROOT_explosion);
			var explosionBubble = new Ellipse()
			{
				Width = 1,
				Height = 1,
				Fill = bubble.Fill,
				HorizontalAlignment = HorizontalAlignment.Left,
				VerticalAlignment = VerticalAlignment.Top,
				//RenderTransformOrigin = new Point(.5, .5),
				Margin = new Thickness(cursor.X, cursor.Y, 0, 0),
				RenderTransform = new ScaleTransform(1, 1, .5, .5)
			};
			ROOT_explosion.Children.Add(explosionBubble);

			//bubble.RenderTransform.animate(ScaleTransform.ScaleXProperty, 400, 1, 0, new BackEase
			//		{ EasingMode = EasingMode.EaseInOut, Amplitude = .3}, by:1.2);
			//bubble.RenderTransform.animate(ScaleTransform.ScaleYProperty, 400, 1, 0, new BackEase
			//		{ EasingMode = EasingMode.EaseInOut, Amplitude = .3}, by:1.2);

			explosionBubble.RenderTransform.animate(ScaleTransform.ScaleXProperty, 400, shellSize, 0, new BackEase
					{ EasingMode = EasingMode.EaseInOut, Amplitude = .3});
			explosionBubble.RenderTransform.animate(ScaleTransform.ScaleYProperty, 400, shellSize , 0, new BackEase
					{ EasingMode = EasingMode.EaseInOut, Amplitude = .3}, OnExplode);
			explosionBubble.animate(OpacityProperty, 200, 0, 500, new CubicEase
					{ EasingMode = EasingMode.EaseIn}, OnExplodeComplete);
		}
Beispiel #6
0
 private void themeSelected(AccentedMaterialSet theme)
 {
     ThemePrimitive.SetTheme(this, theme);
     AppSettings.Instance.Theme = theme.SerializationKey;
 }