progress property

  1. @override
double progress
override

The current progress of the effect, a value between 0 and 1.

Implementation

@override
double get progress {
  // Assume zigzag's period is 4 units of length. Within that period, there
  // are 3 linear segments: at first it's y = x, for 0 ≤ x ≤ 1, then it's
  // y = -x + 2, for 1 ≤ x ≤ 3, and finally it's y = x + (-4), for 3 ≤ x ≤ 4.
  final x = timer / _quarterPeriod;
  return x <= 1
      ? x
      : x >= 3
          ? x - 4
          : 2 - x;
}