MotionLoader.cyberpunk constructor

MotionLoader.cyberpunk({
  1. Key? key,
  2. required MotionCyberpunkStyle style,
  3. Color? color,
  4. double size = 50.0,
})

Cyberpunk Theme Category: console terminals, glitches, and scanners.

Implementation

factory MotionLoader.cyberpunk({
  Key? key,
  required MotionCyberpunkStyle style,
  Color? color,
  double size = 50.0,
}) {
  return MotionLoader._internal(
    key: key,
    color: color,
    size: size,
    builder: (context) {
      final activeColor = color ?? Theme.of(context).primaryColor;
      switch (style) {
        case MotionCyberpunkStyle.terminalBoot:
          return MotionTerminalBootLoader(
            color: activeColor,
            size: size,
          );
        case MotionCyberpunkStyle.glitch:
          return MotionGlitchLoader(
            color: activeColor,
            size: size,
          );
        case MotionCyberpunkStyle.cyberRing:
          return MotionCyberRingLoader(
            color: activeColor,
            size: size,
          );
        case MotionCyberpunkStyle.dataStream:
          return MotionDataStreamLoader(
            color: activeColor,
            size: size,
          );
        case MotionCyberpunkStyle.firewallScanner:
          return MotionFirewallScannerLoader(
            color: activeColor,
            size: size,
          );
      }
    },
  );
}