frontAlign static method

Animation<Alignment> frontAlign(
  1. AnimationController controller,
  2. Alignment beginAlign,
  3. Alignment baseAlign,
  4. double swipeEdge,
)

Implementation

static Animation<Alignment> frontAlign(
  AnimationController controller,
  Alignment beginAlign,
  Alignment baseAlign,
  double swipeEdge,
) {
  double endX, endY;

  ///condition for swipe none ,left,right
  if (_SwipeCardState.swipeable == SwipeDirection.none) {
    endX = beginAlign.x > 0
        ? (beginAlign.x > swipeEdge ? beginAlign.x + 10.0 : baseAlign.x)
        : (beginAlign.x < -swipeEdge ? beginAlign.x - 10.0 : baseAlign.x);
    endY = beginAlign.x > 3.0 || beginAlign.x < -swipeEdge
        ? beginAlign.y
        : baseAlign.y;
  } else if (_SwipeCardState.swipeable == SwipeDirection.left) {
    endX = beginAlign.x - swipeEdge;
    endY = beginAlign.y + 0.5;
  } else {
    endX = beginAlign.x + swipeEdge;
    endY = beginAlign.y + 0.5;
  }

  ///applying tween animation
  return new AlignmentTween(begin: beginAlign, end: new Alignment(endX, endY))
      .animate(
          new CurvedAnimation(parent: controller, curve: Curves.easeOut));
}