MotionLoader.physics constructor

MotionLoader.physics({
  1. Key? key,
  2. required MotionPhysicsStyle style,
  3. Color? color,
  4. double size = 50.0,
  5. bool glow = true,
})

Physics Theme Category: Collision dynamics and orbital attractions.

Implementation

factory MotionLoader.physics({
  Key? key,
  required MotionPhysicsStyle style,
  Color? color,
  double size = 50.0,
  bool glow = true,
}) {
  return MotionLoader._internal(
    key: key,
    color: color,
    size: size,
    builder: (context) {
      final activeColor = color ?? Theme.of(context).primaryColor;
      switch (style) {
        case MotionPhysicsStyle.pendulum:
          return MotionPendulumLoader(
            color: activeColor,
            size: size,
          );
        case MotionPhysicsStyle.bounceChain:
          return MotionBounceChainLoader(
            color: activeColor,
            size: size,
          );
        case MotionPhysicsStyle.gravityOrbit:
          return MotionGravityOrbitLoader(
            color: activeColor,
            size: size,
            glow: glow,
          );
        case MotionPhysicsStyle.fluidParticle:
          return MotionFluidParticleLoader(
            color: activeColor,
            size: size,
            glow: glow,
          );
        case MotionPhysicsStyle.sandSimulation:
          return MotionSandSimulationLoader(
            color: activeColor,
            size: size,
          );
        case MotionPhysicsStyle.magneticField:
          return MotionMagneticFieldLoader(
            color: activeColor,
            size: size,
          );
      }
    },
  );
}