Wave constructor
Wave({
- WaveDirection direction = WaveDirection.right2Left,
- WaveGravityDirection gravityDirection = WaveGravityDirection.down,
- double amplitude = 40.0,
- int frequency = 1,
- double phase = 0.0,
- double offset = 0.75,
- bool useScaledOffset = true,
- required Color color,
- Color? lineColor,
- double lineThickness = 2.0,
Creates a new Wave object.
Implementation
Wave({
this.direction = WaveDirection.right2Left,
this.gravityDirection = WaveGravityDirection.down,
this.amplitude = 40.0,
this.frequency = 1,
this.phase = 0.0,
this.offset = 0.75,
this.useScaledOffset = true,
required this.color,
this.lineColor,
this.lineThickness = 2.0,
}) : assert(amplitude >= 0.0),
assert(frequency >= 0.0),
assert(phase >= 0.0 && phase <= 1.0),
assert(
useScaledOffset ? offset >= 0.0 && offset <= 1.0 : offset >= 0.0,
),
assert(lineThickness >= 0.0),
assert(
identical(direction, WaveDirection.left2Right) ||
identical(direction, WaveDirection.right2Left)
? identical(gravityDirection, WaveGravityDirection.down) ||
identical(gravityDirection, WaveGravityDirection.up) == true
: identical(gravityDirection, WaveGravityDirection.right) ||
identical(gravityDirection, WaveGravityDirection.left) ==
true,
'If the wave is horizontal, gravity can only be up or down. If the '
'wave is vertical, gravity can only be left or right.',
);