GlowOrb constructor

const GlowOrb({
  1. Key? key,
  2. double size = 250.0,
  3. Color backgroundColor = Colors.black,
  4. Color eyeColor = Colors.white,
  5. Color? borderColor,
  6. double borderWidth = 1.0,
  7. double borderOpacity = 0.3,
  8. double innerGradientOpacity = 0.2,
  9. Duration floatAnimationDuration = const Duration(seconds: 6),
  10. Duration colorShiftDuration = const Duration(seconds: 20),
  11. Duration glowPulseDuration = const Duration(seconds: 2),
  12. Duration blinkDuration = const Duration(seconds: 4),
  13. Duration lookAroundDuration = const Duration(seconds: 10),
  14. Duration startupDuration = const Duration(seconds: 2),
  15. double floatIntensity = 8.0,
  16. double eyeWidth = 13.0,
  17. double eyeHeight = 39.0,
  18. double eyeSpacing = 30.0,
  19. double eyeBorderRadius = 3.0,
  20. double lookAroundIntensity = 7.0,
  21. bool enableFloating = true,
  22. bool enableColorShift = true,
  23. bool enableBlinking = true,
  24. bool enableLookAround = true,
  25. bool enableStartupAnimation = true,
  26. List<Color>? customColorScheme,
  27. VoidCallback? onTap,
  28. List<ColorBlobConfig> colorBlobs = const [ColorBlobConfig(), ColorBlobConfig(position: ColorBlobPosition.topRight, size: 160, colorOffset: 120, blurSigma: 35, scale: 0.5, floatMultiplier: -0.5), ColorBlobConfig(position: ColorBlobPosition.bottom, size: 170, colorOffset: 240, blurSigma: 45, scale: 0.6, floatMultiplier: 1.5)],
})

Creates a customizable glow orb widget

Implementation

const GlowOrb({
  super.key,
  this.size = 250.0,
  this.backgroundColor = Colors.black,
  this.eyeColor = Colors.white,
  this.borderColor,
  this.borderWidth = 1.0,
  this.borderOpacity = 0.3,
  this.innerGradientOpacity = 0.2,
  this.floatAnimationDuration = const Duration(seconds: 6),
  this.colorShiftDuration = const Duration(seconds: 20),
  this.glowPulseDuration = const Duration(seconds: 2),
  this.blinkDuration = const Duration(seconds: 4),
  this.lookAroundDuration = const Duration(seconds: 10),
  this.startupDuration = const Duration(seconds: 2),
  this.floatIntensity = 8.0,
  this.eyeWidth = 13.0,
  this.eyeHeight = 39.0,
  this.eyeSpacing = 30.0,
  this.eyeBorderRadius = 3.0,
  this.lookAroundIntensity = 7.0,
  this.enableFloating = true,
  this.enableColorShift = true,
  this.enableBlinking = true,
  this.enableLookAround = true,
  this.enableStartupAnimation = true,
  this.customColorScheme,
  this.onTap,
  this.colorBlobs = const [
    ColorBlobConfig(),
    ColorBlobConfig(
      position: ColorBlobPosition.topRight,
      size: 160,
      colorOffset: 120,
      blurSigma: 35,
      scale: 0.5,
      floatMultiplier: -0.5,
    ),
    ColorBlobConfig(
      position: ColorBlobPosition.bottom,
      size: 170,
      colorOffset: 240,
      blurSigma: 45,
      scale: 0.6,
      floatMultiplier: 1.5,
    ),
  ],
});