Esempio n. 1
0
 public virtual void HandleInitView(View view, CardsView cardsView, PanItemPosition panItemPosition)
 {
     if (view != null)
     {
         view.TranslationX = 0;
         view.IsVisible    = true;
     }
 }
Esempio n. 2
0
 public virtual void InitView(View view, CardsView cardsView, PanItemPosition panItemPosition)
 {
     if (view != null)
     {
         view.TranslationX = Math.Sign((int)panItemPosition) * cardsView.Width;
         view.IsVisible    = false;
     }
 }
Esempio n. 3
0
 public virtual Task HandlePanApply(View view, CardsView cardsView, PanItemPosition panItemPosition)
 {
     if (view != null)
     {
         view.Scale = 1;
     }
     return(Task.FromResult(true));
 }
Esempio n. 4
0
 public virtual void HandleAutoNavigate(View view, CardsView cardsView, PanItemPosition panItemPosition)
 {
     if (view != null)
     {
         view.IsVisible = true;
         new Animation(v => view.TranslationX = v, view.TranslationX, 0)
         .Commit(view, nameof(HandleAutoNavigate), 16, AnimationLength, AnimEasing);
     }
 }
        public virtual async Task HandlePanApply(View view, CardsView cardsView, PanItemPosition panItemPosition)
        {
            if (view != null)
            {
                await view.FadeTo(0, ApplyAnimationLength, ApplyEasing);

                view.IsVisible = false;
            }
        }
Esempio n. 6
0
 public virtual void AutoNavigate(View view, CardsView cardsView, PanItemPosition panItemPosition)
 {
     if (view != null)
     {
         view.IsVisible = true;
         new Animation(v => view.Scale = v, view.Scale, 1)
         .Commit(view, nameof(AutoNavigate), 16, AutoNavigateAnimationLength, AutoNavigateEasing);
     }
 }
 public virtual void InitView(View view, CardsView cardsView, PanItemPosition panItemPosition)
 {
     if (view != null)
     {
         view.TranslationX = 0;
         view.Rotation     = 0;
         view.TranslationY = 0;
         view.Opacity      = 1;
         view.IsVisible    = false;
         view.Scale        = InitialScale;
     }
 }
 public virtual Task HandlePanReset(View view, CardsView cardsView, PanItemPosition panItemPosition)
 {
     if (view != null)
     {
         var tcs        = new TaskCompletionSource <bool>();
         var animLength = (uint)(ResetAnimationLength * (view.Scale - InitialScale) / (1 - InitialScale));
         new Animation(v => view.Scale = v, view.Scale, InitialScale)
         .Commit(view, nameof(HandlePanReset), 16, animLength, ResetEasing, (v, t) => tcs.SetResult(true));
         return(tcs.Task);
     }
     return(Task.FromResult(true));
 }
 public virtual void AutoNavigate(View view, CardsView cardsView, PanItemPosition panItemPosition)
 {
     if (view != null)
     {
         cardsView.AutoNavigatingStarted(view);
         new Animation(v => HandleAutoAnimatingPosChanged(view, cardsView, v, panItemPosition), 0, cardsView.MoveDistance)
         .Commit(view, nameof(AutoNavigate), 16, AutoNavigateAnimationLength, AutoNavigateEasing, async(v, t) =>
         {
             await HandlePanApply(view, cardsView, panItemPosition);
             cardsView.AutoNavigatingEnded(view);
         });
     }
 }
Esempio n. 10
0
 public virtual Task HandlePanApply(View view, CardsView cardsView, PanItemPosition panItemPosition)
 {
     if (view != null)
     {
         var tcs             = new TaskCompletionSource <bool>();
         var animTimePercent = 1 - (cardsView.Width - Abs(view.TranslationX)) / cardsView.Width;
         var animLength      = (uint)(AnimationLength * animTimePercent);
         new Animation(v => view.TranslationX = v, view.TranslationX, 0)
         .Commit(view, nameof(HandlePanApply), 16, animLength, AnimEasing, (v, t) => tcs.SetResult(true));
         return(tcs.Task);
     }
     return(Task.FromResult(true));
 }
Esempio n. 11
0
        public virtual Task HandlePanReset(View view, CardsView cardsView, PanItemPosition panItemPosition)
        {
            if (view != null)
            {
                var tcs = new TaskCompletionSource <bool>();

                var animTimePercent = (cardsView.Width - Math.Abs(view.TranslationX)) / cardsView.Width;
                var animLength      = (uint)(AnimationLength * animTimePercent);
                new Animation(v => view.TranslationX = v, view.TranslationX, Math.Sign((int)panItemPosition) * cardsView.Width)
                .Commit(view, nameof(HandlePanReset), 16, animLength, finished: (v, t) => tcs.SetResult(true));
                return(tcs.Task);
            }
            return(Task.FromResult(true));
        }
Esempio n. 12
0
        public virtual void AutoNavigate(View view, CardsView cardsView, PanItemPosition panItemPosition)
        {
            if (view != null)
            {
                var destinationPos = panItemPosition == PanItemPosition.Prev
                   ? cardsView.Width
                   : -cardsView.Width;

                cardsView.AutoNavigatingStarted(view);
                new Animation(v => view.TranslationX = v, 0, destinationPos)
                .Commit(view, nameof(AutoNavigate), 16, AnimationLength, AnimEasing, (v, t) =>
                {
                    cardsView.AutoNavigatingEnded(view);
                });
            }
        }
Esempio n. 13
0
        public virtual Task HandlePanReset(View view, CardsView cardsView, PanItemPosition panItemPosition)
        {
            var tcs = new TaskCompletionSource <bool>();

            if (!CheckIsInitialPosition(view))
            {
                var animLength = (uint)(ResetAnimationLength * Math.Min(Math.Abs(view.TranslationX / cardsView.MoveDistance), 1.0));
                new Animation {
                    { 0, 1, new Animation(v => view.TranslationX = v, view.TranslationX, 0) },
                    { 0, 1, new Animation(v => view.TranslationY = v, view.TranslationY, 0) },
                    { 0, 1, new Animation(v => view.Rotation = v, view.Rotation, 0) }
                }.Commit(view, nameof(HandlePanReset), 16, animLength, ResetEasing, (v, c) => SetInitialResult(view, tcs));
            }
            else
            {
                SetInitialResult(view, tcs);
            }

            return(tcs.Task);
        }
Esempio n. 14
0
        private void HandleAutoAnimatingPosChanged(View view, CardsView cardsView, double xPos, PanItemPosition panItemPosition)
        {
            if (panItemPosition == PanItemPosition.Next)
            {
                xPos = -xPos;
            }

            view.TranslationX = xPos;
            view.TranslationY = Math.Abs(xPos) / 10;
            view.Rotation     = 0.3 * Math.Min(xPos / cardsView.Width, 1) * Rad;
        }
Esempio n. 15
0
        public virtual void HandlePanChanged(View view, CardsView cardsView, double xPos, PanItemPosition panItemPosition)
        {
            var value = Math.Sign((int)panItemPosition) * cardsView.Width + xPos;

            if (Math.Abs(value) > cardsView.Width || (panItemPosition == PanItemPosition.Prev && value > 0) || (panItemPosition == PanItemPosition.Next && value < 0))
            {
                return;
            }
            view.TranslationX = value;
        }
Esempio n. 16
0
        public virtual void HandlePanChanged(View view, CardsView cardsView, double xPos, PanItemPosition panItemPosition)
        {
            if (Abs(xPos) > cardsView.Width || (panItemPosition == PanItemPosition.Prev && xPos < 0) || (panItemPosition == PanItemPosition.Next && xPos > 0))
            {
                return;
            }

            if (panItemPosition == PanItemPosition.Null)
            {
                xPos = Sign(xPos) * Min(Abs(xPos / 4), NoItemMaxPanDistance);
            }

            view.TranslationX = xPos;
        }
Esempio n. 17
0
        public virtual void HandlePanChanged(View view, CardsView cardsView, double xPos, PanItemPosition panItemPosition)
        {
            var calcScale = InitialScale + Math.Abs((xPos / cardsView.MoveDistance) * (1 - InitialScale));

            view.Scale = Math.Min(calcScale, 1);
        }
        public virtual void HandlePanChanged(View view, CardsView cardsView, double xPos, PanItemPosition panItemPosition)
        {
            var multiplier = 1;

            if (panItemPosition == PanItemPosition.Null)
            {
                xPos       = Sign(xPos) * Min(Abs(xPos / 4), NoItemMaxPanDistance);
                multiplier = -multiplier;
            }

            view.TranslationX = xPos;
            view.TranslationY = multiplier * Abs(xPos) / 10;
            view.Rotation     = multiplier * 0.3 * Rad * (xPos / cardsView.Width);
        }
Esempio n. 19
0
 public virtual void InitView(View view, CardsView cardsView, PanItemPosition panItemPosition)
 => ResetInitialState(view);
        public virtual void HandlePanChanged(View view, CardsView cardsView, double xPos, PanItemPosition panItemPosition)
        {
            if (panItemPosition == PanItemPosition.Null)
            {
                return;
            }

            var calcScale = InitialScale + Abs((xPos / cardsView.MoveDistance) * (1 - InitialScale));

            view.Scale = Min(calcScale, 1);
        }
Esempio n. 21
0
 public virtual void HandlePanChanged(View view, CardsView cardsView, double xPos, PanItemPosition panItemPosition)
 {
     if (Math.Abs(xPos) > cardsView.Width || (panItemPosition == PanItemPosition.Prev && xPos < 0) || (panItemPosition == PanItemPosition.Next && xPos > 0))
     {
         return;
     }
     view.TranslationX = xPos;
 }
Esempio n. 22
0
 public virtual void HandlePanChanged(View view, CardsView cardsView, double xPos, PanItemPosition panItemPosition)
 {
     view.TranslationX = xPos;
     view.TranslationY = Math.Abs(xPos) / 10;
     view.Rotation     = 0.3 * Math.Min(xPos / cardsView.Width, 1) * Rad;
 }