public AnimationFrameBase FrameForTimeTransform(AnimatedView view, int time, AnimationFrameBase startKeyFrameBase, AnimationFrameBase endKeyFrameBase)
        {
            var startKeyFrame = startKeyFrameBase as AnimationFrame;
            var endKeyFrame   = endKeyFrameBase as AnimationFrame;

            int    startTime     = startKeyFrame.Time;
            int    endTime       = endKeyFrame.Time;
            CGRect startLocation = new CGRect(startKeyFrame.xPosition, startKeyFrame.yPosition, startKeyFrame.frameSize.ToSizeF().Width, startKeyFrame.frameSize.ToSizeF().Height);
            CGRect endLocation   = new CGRect(endKeyFrame.xPosition, endKeyFrame.yPosition, endKeyFrame.frameSize.ToSizeF().Width, endKeyFrame.frameSize.ToSizeF().Height);

            CGRect nativeViewSize = new CGRect(view.X, view.Y, view.Width, view.Height);
            UIView nativeView     = ConvertFormsToNative(view, nativeViewSize);
            CGRect frame          = nativeView.Frame;

            frame.Location =
                new PointF(
                    Animation.TweenValueForStartTime(startTime, endTime, (Single)startLocation.GetMinX(), (Single)endLocation.GetMinX(), time),
                    Animation.TweenValueForStartTime(startTime, endTime, (Single)startLocation.GetMinY(), (Single)endLocation.GetMinY(), time));
            frame.Size =
                new SizeF(Animation.TweenValueForStartTime(startTime, endTime, (Single)startLocation.Width, (Single)endLocation.Width, time),
                          Animation.TweenValueForStartTime(startTime, endTime, (Single)startLocation.Height, (Single)endLocation.Height, time));

            AnimationFrame animationFrame = new AnimationFrame();

            animationFrame.xPosition = (int)nativeView.Center.X;
            animationFrame.yPosition = (int)nativeView.Center.Y;
            animationFrame.frameSize = new Xamarin.Forms.Size(frame.Width, frame.Height);

            return(animationFrame);
        }
        public Animation TransformAnimation(AnimatedView view, int time)
        {
            var animationFrame = Animation.CountKeyFrames(time);

            if (animationFrame == null)
            {
                return(null);
            }

            CGRect nativeViewSize = new CGRect(view.X, view.Y, view.Width, view.Height);
            UIView nativeView     = ConvertFormsToNative(view, nativeViewSize);

            AnimationFrame animationFrameTranform = Animation.AnimationFrameForTime(time) as AnimationFrame;

            // Store the current transform
            CGAffineTransform tempTransform = nativeView.Transform;

            // Reset rotation to 0 to avoid warping
            nativeView.Transform = CGAffineTransform.MakeRotation(0);
            var nativeFrameSize = new CGRect(animationFrameTranform.xPosition, animationFrameTranform.yPosition, animationFrameTranform.frameSize.Width, animationFrameTranform.frameSize.Height);

            nativeView.Frame = nativeFrameSize;

            // Return to original transform
            nativeView.Transform = tempTransform;

            return(this);
        }
        public Animation Transform3DAnimation(AnimatedView view, int time)
        {
            var animationFrame = Animation.CountKeyFrames(time);

            if (animationFrame == null)
            {
                return(this);
            }

            CGRect nativeViewSize = new CGRect(view.X, view.Y, view.Width, view.Height);
            UIView nativeView     = ConvertFormsToNative(view, nativeViewSize);

            AnimationFrame aFrame = (AnimationFrame)Animation.AnimationFrameForTime(time);

            if (aFrame.Transform == null)
            {
                return(null);
            }

            CATransform3D transform = CATransform3D.Identity;

            transform.m34 = aFrame.Transform.M34;

            transform = CATransform3D.MakeRotation(
                aFrame.Transform.Rotate.Angle,
                aFrame.Transform.Rotate.X,
                aFrame.Transform.Rotate.Y,
                aFrame.Transform.Rotate.Z);

            // Scale
            transform.m11 = aFrame.Transform.Scale.Sx;
            transform.m22 = aFrame.Transform.Scale.Sy;
            transform.m33 = aFrame.Transform.Scale.Sz;

            // Translate
            transform.m41 = aFrame.Transform.Translate.Tx;
            transform.m42 = aFrame.Transform.Translate.Ty;
            transform.m43 = aFrame.Transform.Translate.Tz;

            //			transform.Rotate (
            //				aFrame.Transform.Rotate.Angle,
            //				aFrame.Transform.Rotate.X,
            //				aFrame.Transform.Rotate.Y,
            //				aFrame.Transform.Rotate.Z);
            //			transform.Scale (
            //				aFrame.Transform.Scale.Sx,
            //				aFrame.Transform.Scale.Sy,
            //				aFrame.Transform.Scale.Sz);
            //
            //			transform.Translate (
            //				aFrame.Transform.Translate.Tx,
            //				aFrame.Transform.Translate.Ty,
            //				aFrame.Transform.Translate.Tz);

            nativeView.Layer.Transform = transform;

            return(this);
        }
        public Animation HideAnimation(AnimatedView view, int time)
        {
            var animationFrame = Animation.CountKeyFrames(time);

            if (animationFrame == null)
            {
                return(null);
            }

            CGRect nativeViewSize = new CGRect(view.X, view.Y, view.Width, view.Height);
            UIView nativeView     = ConvertFormsToNative(view, nativeViewSize);

            nativeView.Hidden = animationFrame.Hidden;

            return(this);
        }
        /// <summary>
        /// Set of all animations
        /// </summary>
        /// <param name="view">View.</param>
        /// <param name="time">Time.</param>
        ///
        public Animation AlphaAnimation(AnimatedView view, int time)
        {
            var animationFrame = Animation.CountKeyFrames(time);

            if (animationFrame == null)
            {
                return(null);
            }

            CGRect nativeViewSize = new CGRect(view.X, view.Y, view.Width, view.Height);
            UIView nativeView     = ConvertFormsToNative(view, nativeViewSize);

            AnimationFrame animationFrameAlpha = Animation.AnimationFrameForTime(time) as AnimationFrame;

            nativeView.Alpha = animationFrameAlpha.Alpha;

            return(this);
        }
Beispiel #6
0
        bool OnCommand(SimpleNameProperty sender, string MenuId)
        {
            switch (MenuId)
            {
            case "MenuId.GeoObjectList.Remove":
                list.Remove(sender.AssociatedObject as IGeoObject);
                return(true);

            case "MenuId.GeoObjectList.Show":
                if (Frame.ActiveView is AnimatedView)
                {
                    AnimatedView av = Frame.ActiveView as AnimatedView;
                    av.SetSelectedObject(sender.AssociatedObject as IGeoObject);
                }
                return(true);
            }
            return(false);
        }
Beispiel #7
0
        public Animation AngleAnimation(AnimatedView view, int time)
        {
            var animationFrame = Animation.CountKeyFrames(time);

            if (animationFrame == null)
            {
                return(null);
            }

            var renderer = Platform.CreateRenderer(view);

            Platform.SetRenderer(view, renderer);

            nativeView = renderer.ViewGroup.RootView;

            nativeView.Rotation = animationFrame.Angle;

            return(this);
        }
        public Animation AngleAnimation(AnimatedView view, int time)
        {
            var animationFrame = Animation.CountKeyFrames(time);

            if (animationFrame == null)
            {
                return(null);
            }

            CGRect nativeViewSize = new CGRect(view.X, view.Y, view.Width, view.Height);
            UIView nativeView     = ConvertFormsToNative(view, nativeViewSize);


            var animationFrameAngle = Animation.AnimationFrameForTime(time);

            nativeView.Transform = CGAffineTransform.MakeRotation(animationFrameAngle.Angle);

            return(this);
        }
        public Animation ColorAnimation(AnimatedView view, int time)
        {
            var animationFrame = Animation.CountKeyFrames(time);

            if (animationFrame == null)
            {
                return(null);
            }

            var nativeViewSize = new CGRect(view.X, view.Y, view.Width, view.Height);
            var nativeView     = ConvertFormsToNative(view, nativeViewSize);


            AnimationFrame colorAnimationFrame = Animation.AnimationFrameForTime(time) as AnimationFrame;
            var            nativeColor         = colorAnimationFrame.frameColor.ToUIColor();

            nativeView.BackgroundColor = nativeColor;

            return(this);
        }
Beispiel #10
0
        public Animation ScaleAnimation(AnimatedView view, int time)
        {
            var animationFrame = Animation.CountKeyFrames(time);

            if (animationFrame == null)
            {
                return(null);
            }

            var renderer = Platform.CreateRenderer(view);

            Platform.SetRenderer(view, renderer);

            nativeView = renderer.ViewGroup.RootView;

            AnimationFrame scaleAnimationFrame = Animation.AnimationFrameForTime(time) as AnimationFrame;
            float          scale = scaleAnimationFrame.Scale;

            //nativeView.Transform = CGAffineTransform.MakeScale (scale, scale);
            return(this);
        }
Beispiel #11
0
        public Animation HideAnimation(AnimatedView view, int time)
        {
            var animationFrame = Animation.CountKeyFrames(time);

            if (animationFrame == null)
            {
                return(null);
            }

            var renderer = Platform.CreateRenderer(view);

            Platform.SetRenderer(view, renderer);

            nativeView = renderer.ViewGroup.RootView;

            AnimationFrame hideAnimationFrame = Animation.AnimationFrameForTime(time) as AnimationFrame;

            nativeView.Visibility = hideAnimationFrame.Visibility;

            return(this);
        }
Beispiel #12
0
        public Animation ColorAnimation(AnimatedView view, int time)
        {
            var animationFrame = Animation.CountKeyFrames(time);

            if (animationFrame == null)
            {
                return(null);
            }

            var renderer = Platform.CreateRenderer(view);

            Platform.SetRenderer(view, renderer);

            nativeView = renderer.ViewGroup.RootView;

            AnimationFrame colorAnimationFrame = Animation.AnimationFrameForTime(time) as AnimationFrame;

            nativeView.SetBackgroundColor(colorAnimationFrame.Color);

            return(this);
        }
Beispiel #13
0
        public XFScrollViewSamplePage()
        {
            InitializeComponent();

            var animatedView = new AnimatedView();

            animatedView.BackgroundColor = Color.Black;
            animatedView.WidthRequest    = 50;
            animatedView.HeightRequest   = 50;

            var scrollView = new AnimatedScrollView();

            scrollView.NumberOfPage = 2;
            scrollView.Content      = new StackLayout
            {
                Children =
                {
                    animatedView
                }
            };

            //Animations
            //var alphaAnimation = new CrossScrollViewAnimations();
            //Animator.Add
            var alphaAnimation = CrossScrollViewAnimations.Current.AlphaAnimation(animatedView, 1);
            var animator       = new Animator();

            animator.AddAnimation(alphaAnimation);

            alphaAnimation.AddKeyFrame(new AnimationFrame()
            {
                Time  = TimeForPage(1),
                Alpha = 0.0f
            });
            alphaAnimation.AddKeyFrame(new AnimationFrame()
            {
                Time  = TimeForPage(2),
                Alpha = 1.0f
            });
        }
Beispiel #14
0
 void OnFocusChanged(IPropertyTreeView sender, IShowProperty NewFocus, IShowProperty OldFocus)
 {
     if (sender.FocusLeft(this, OldFocus, NewFocus))
     {
     }
     else if (sender.FocusEntered(this, OldFocus, NewFocus))
     {
         if (NewFocus == this)
         {
             if (Frame.ActiveView is AnimatedView)
             {
                 AnimatedView av = Frame.ActiveView as AnimatedView;
                 av.SetSelectedObjects(new GeoObjectList(list.ToArray()));
             }
         }
         else if (NewFocus is SimpleNameProperty)
         {
             if (Frame.ActiveView is AnimatedView)
             {
                 AnimatedView av = Frame.ActiveView as AnimatedView;
                 av.SetSelectedObject((NewFocus as SimpleNameProperty).AssociatedObject as IGeoObject);
             }
         }
     }
     else
     {   // möglicherweise Änderung innerhalb der Child objects
         if (propertyTreeView.GetParent(NewFocus) == this)
         {
             if (NewFocus is SimpleNameProperty)
             {
                 if (Frame.ActiveView is AnimatedView)
                 {
                     AnimatedView av = Frame.ActiveView as AnimatedView;
                     av.SetSelectedObject((NewFocus as SimpleNameProperty).AssociatedObject as IGeoObject);
                 }
             }
         }
     }
 }
Beispiel #15
0
 void ISchedule.SetDrivePositions(double time, AnimatedView animatedView)
 {
     foreach (KeyValuePair <IDrive, SortedList <double, double> > kv in steps)
     {
         double starttime = time;
         double endtime   = time;
         double startpos  = 0.0;
         double endpos    = 0.0;
         foreach (KeyValuePair <double, double> tp in kv.Value)
         {
             if (tp.Key < time)
             {
                 endpos  = startpos = tp.Value;
                 endtime = starttime = tp.Key;
             }
             if (tp.Key >= time)
             {
                 endpos  = tp.Value;
                 endtime = tp.Key;
                 break;
             }
         }
         double f; // linear interpolieren
         if (endtime == starttime)
         {
             f = 0.0;
         }
         else
         {
             f = (time - starttime) / (endtime - starttime);
         }
         double pos = startpos + f * (endpos - startpos);
         kv.Key.Position = pos;
         // System.Diagnostics.Trace.WriteLine(kv.Key.Name + ": " + time.ToString() + ", " + pos.ToString());
     }
 }
 public Abstractions.Animation TransformAnimation(AnimatedView view, int time)
 {
     throw new NotImplementedException();
 }
 public AnimationFrameBase FrameForTimeTransform(AnimatedView view, int time, AnimationFrameBase startKeyFrame, AnimationFrameBase endKeyFrame)
 {
     throw new NotImplementedException();
 }
Beispiel #18
0
 public Animation Transform3DAnimation(AnimatedView view, int time)
 {
     throw new NotImplementedException();
 }