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); }
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); }
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); }
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); }
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); }
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); }
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 }); }
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); } } } } }
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(); }
public Animation Transform3DAnimation(AnimatedView view, int time) { throw new NotImplementedException(); }