Esempio n. 1
0
        public override AnimationFrameBase FrameForTime(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 = startKeyFrame.Frame;
            CGRect endLocation   = endKeyFrame.Frame;

            CGRect frame = View.Frame;

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

            AnimationFrame animationFrame = new AnimationFrame();

            animationFrame.Frame = frame;

            return(animationFrame);
        }
        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 override AnimationFrameBase FrameForTime(int time,
                                                        AnimationFrameBase startKeyFrameBase,
                                                        AnimationFrameBase endKeyFrameBase)
        {
            var startKeyFrame = startKeyFrameBase as AnimationFrame;
            var endKeyFrame   = endKeyFrameBase as AnimationFrame;

            int        startTime     = startKeyFrame.Time;
            int        endTime       = endKeyFrame.Time;
            RectangleF startLocation = startKeyFrame.Frame;
            RectangleF endLocation   = endKeyFrame.Frame;

            RectangleF frame = new RectangleF(Convert.ToSingle(View.GetX()), Convert.ToSingle(View.GetY()), Convert.ToSingle(View.Width), Convert.ToSingle(View.Height));

            frame.Location =
                new PointF(
                    TweenValueForStartTime(startTime, endTime, startLocation.X, endLocation.X, time),
                    TweenValueForStartTime(startTime, endTime, startLocation.Y, endLocation.Y, time));
            frame.Size =
                new SizeF(TweenValueForStartTime(startTime, endTime, startLocation.Width, endLocation.Width, time),
                          TweenValueForStartTime(startTime, endTime, startLocation.Height, endLocation.Height, time));

            AnimationFrame animationFrame = new AnimationFrame();

            animationFrame.Frame = frame;

            return(animationFrame);
        }
Esempio n. 4
0
        public AnimationFrameBase FrameForTimeHide(int time, AnimationFrameBase startKeyFrame, AnimationFrameBase endKeyFrame)
        {
            AnimationFrame animationFrame = new AnimationFrame();

            animationFrame.Hidden = (time == startKeyFrame.Time ? startKeyFrame : endKeyFrame).Hidden;

            return(animationFrame);
        }
Esempio n. 5
0
        public override AnimationFrameBase FrameForTime(int time, AnimationFrameBase startKeyFrame, AnimationFrameBase endKeyFrame)
        {
            AnimationFrame animationFrame = new AnimationFrame();

            animationFrame.Scale = TweenValueForStartTime(startKeyFrame.Time,
                                                          endKeyFrame.Time,
                                                          startKeyFrame.Scale,
                                                          endKeyFrame.Scale,
                                                          time);

            return(animationFrame);
        }
Esempio n. 6
0
        public AnimationFrameBase FrameForTimeScale(int time, AnimationFrameBase startKeyFrame, AnimationFrameBase endKeyFrame)
        {
            var animationFrame = new AnimationFrame();

            animationFrame.Scale = Animation.TweenValueForStartTime(startKeyFrame.Time,
                                                                    endKeyFrame.Time,
                                                                    startKeyFrame.Scale,
                                                                    endKeyFrame.Scale,
                                                                    time);

            return(animationFrame);
        }
        public override AnimationFrameBase FrameForTime(int time,
                                                        AnimationFrameBase startKeyFrameBase,
                                                        AnimationFrameBase endKeyFrameBase)
        {
            var startKeyFrame = startKeyFrameBase as AnimationFrame;
            var endKeyFrame   = endKeyFrameBase as AnimationFrame;

            AnimationFrame animationFrame = new AnimationFrame();

            animationFrame.Angle = TweenValueForStartTime(startKeyFrame.Time,
                                                          endKeyFrame.Time,
                                                          startKeyFrame.Angle,
                                                          endKeyFrame.Angle,
                                                          time);

            return(animationFrame);
        }
Esempio n. 8
0
        public override AnimationFrameBase FrameForTime(int time, AnimationFrameBase startKeyFrameBase, AnimationFrameBase endKeyFrameBase)
        {
            var startKeyFrame = startKeyFrameBase as AnimationFrame;
            var endKeyFrame   = endKeyFrameBase as AnimationFrame;

            AnimationFrame animationFrame = new AnimationFrame();

            animationFrame.Transform     = new Transform3D();
            animationFrame.Transform.M34 = startKeyFrame.Transform.M34;



            //if (startKeyFrame.Transform.Translate != null) {
            Transform3DTranslate translate = new Transform3DTranslate();

            translate.Tx = TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startKeyFrame.Transform.Translate.Tx, endKeyFrame.Transform.Translate.Tx, time);
            translate.Ty = TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startKeyFrame.Transform.Translate.Ty, endKeyFrame.Transform.Translate.Ty, time);
            translate.Tz = TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startKeyFrame.Transform.Translate.Tz, endKeyFrame.Transform.Translate.Tz, time);
            animationFrame.Transform.Translate = translate;
            //}

            //if (startKeyFrame.Transform.Rotate != null) {
            Transform3DRotate rotate = new Transform3DRotate();

            rotate.Angle = TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startKeyFrame.Transform.Rotate.Angle, endKeyFrame.Transform.Rotate.Angle, time);
            rotate.X     = TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startKeyFrame.Transform.Rotate.X, endKeyFrame.Transform.Rotate.X, time);
            rotate.Y     = TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startKeyFrame.Transform.Rotate.Y, endKeyFrame.Transform.Rotate.Y, time);
            rotate.Z     = TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startKeyFrame.Transform.Rotate.Z, endKeyFrame.Transform.Rotate.Z, time);
            animationFrame.Transform.Rotate = rotate;
            //}


            //if (startKeyFrame.Transform.Scale != null) {
            Transform3DScale scale = new Transform3DScale();

            scale.Sx = TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startKeyFrame.Transform.Scale.Sx, endKeyFrame.Transform.Scale.Sx, time);
            scale.Sy = TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startKeyFrame.Transform.Scale.Sy, endKeyFrame.Transform.Scale.Sy, time);
            scale.Sz = TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startKeyFrame.Transform.Scale.Sz, endKeyFrame.Transform.Scale.Sz, time);
            animationFrame.Transform.Scale = scale;
            //}
            return(animationFrame);
        }
        public override AnimationFrameBase FrameForTime(int time, AnimationFrameBase startKeyFrameBase, AnimationFrameBase endKeyFrameBase)
        {
            var startKeyFrame = startKeyFrameBase as AnimationFrame;
            var endKeyFrame   = endKeyFrameBase as AnimationFrame;

            AnimationFrame animationFrame = new AnimationFrame();
            float          startRed = 0.0f, startBlue = 0.0f, startGreen = 0.0f, startAlpha = 0.0f;
            float          endRed = 0.0f, endBlue = 0.0f, endGreen = 0.0f, endAlpha = 0.0f;

            if (GetRed(startRed, startGreen, startBlue, startAlpha, startKeyFrame.Color) &&
                GetRed(endRed, endGreen, endBlue, endAlpha, endKeyFrame.Color))
            {
                float red   = TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startRed, endRed, time);
                float green = TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startGreen, endGreen, time);
                float blue  = TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startBlue, endBlue, time);
                float alpha = TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startAlpha, endAlpha, time);
                animationFrame.Color = UIColor.FromRGBA(red, green, blue, alpha);
            }

            return(animationFrame);
        }
        public AnimationFrameBase FrameForTimeColor(int time, AnimationFrameBase startKeyFrameBase, AnimationFrameBase endKeyFrameBase)
        {
            var startKeyFrame = startKeyFrameBase as AnimationFrame;
            var endKeyFrame   = endKeyFrameBase as AnimationFrame;

            AnimationFrame animationFrame = new AnimationFrame();
            float          startRed = 0.0f, startBlue = 0.0f, startGreen = 0.0f, startAlpha = 0.0f;
            float          endRed = 0.0f, endBlue = 0.0f, endGreen = 0.0f, endAlpha = 0.0f;

            if (GetRed(startRed, startGreen, startBlue, startAlpha, startKeyFrame.frameColor.ToUIColor()) &&
                GetRed(endRed, endGreen, endBlue, endAlpha, endKeyFrame.frameColor.ToUIColor()))
            {
                float red   = Animation.TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startRed, endRed, time);
                float green = Animation.TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startGreen, endGreen, time);
                float blue  = Animation.TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startBlue, endBlue, time);
                float alpha = Animation.TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startAlpha, endAlpha, time);
                animationFrame.frameColor = Xamarin.Forms.Color.FromRgba(red, green, blue, alpha);
            }

            return(animationFrame);
        }
Esempio n. 11
0
        public AnimationFrameBase FrameForTimeColor(int time, AnimationFrameBase startKeyFrameBase, AnimationFrameBase endKeyFrameBase)
        {
            var startKeyFrame = startKeyFrameBase as AnimationFrame;
            var endKeyFrame   = endKeyFrameBase as AnimationFrame;

            AnimationFrame animationFrame = new AnimationFrame();
            int            startRed = 0, startBlue = 0, startGreen = 0, startAlpha = 0;
            int            endRed = 0, endBlue = 0, endGreen = 0, endAlpha = 0;

            if (GetRGBA(out startRed, out startGreen, out startBlue, out startAlpha, startKeyFrame.Color) &&
                GetRGBA(out endRed, out endGreen, out endBlue, out endAlpha, endKeyFrame.Color))
            {
                int red   = (int)(Animation.TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startRed, endRed, time));
                int green = (int)(Animation.TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startGreen, endGreen, time));
                int blue  = (int)(Animation.TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startBlue, endBlue, time));
                int alpha = (int)(Animation.TweenValueForStartTime(startKeyFrame.Time, endKeyFrame.Time, startAlpha, endAlpha, time));

                animationFrame.Color = Android.Graphics.Color.Argb(alpha, red, green, blue);
            }

            return(animationFrame);
        }
 public AnimationFrameBase FrameForTimeTransform(AnimatedView view, int time, AnimationFrameBase startKeyFrame, AnimationFrameBase endKeyFrame)
 {
     throw new NotImplementedException();
 }
 public AnimationFrameBase FrameForTimeScale(int time, AnimationFrameBase startKeyFrame, AnimationFrameBase endKeyFrame)
 {
     throw new NotImplementedException();
 }