GlowOrb class

A positionable glowing orb with optional bouncing animation.

Renders a volumetric glowing sphere that can be positioned freely or set to bounce off the container edges automatically.

The shader creates a bright center core with soft exponential falloff, a halo glow, subtle internal light variation (noise caustics), and a breathing pulse animation. The background is transparent for compositing.

Static positioned orb:

GlowOrb(
  position: Offset(0.5, 0.5), // center
  color: Colors.cyan,
  radius: 0.15,
)

Bouncing orb (screensaver style):

GlowOrb.bouncing(
  color: Colors.purple,
  radius: 0.1,
  speed: 0.3,
)
Inheritance

Constructors

GlowOrb({Key? key, Offset position = const Offset(0.5, 0.5), Color color = Colors.cyan, double radius = _defaultRadius, double glowIntensity = _defaultGlowIntensity, double pulseSpeed = _defaultPulseSpeed, bool enabled = true, Widget? child})
Creates a statically positioned glowing orb.
const
GlowOrb.bouncing({Key? key, Color color = Colors.purple, double radius = _defaultRadius, double glowIntensity = _defaultGlowIntensity, double pulseSpeed = _defaultPulseSpeed, bool enabled = true, Widget? child, double speed = _defaultBounceSpeed})
Creates a glowing orb that bounces off the container edges.
const
GlowOrb.draggable({Key? key, Offset position = const Offset(0.5, 0.5), Color color = Colors.orange, double radius = _defaultRadius, double glowIntensity = _defaultGlowIntensity, double pulseSpeed = _defaultPulseSpeed, bool enabled = true, Widget? child})
Creates a glowing orb that can be dragged around by the user.
const

Properties

child Widget?
Optional child widget rendered behind the shader effect.
final
color Color
Color of the orb glow. The shader blends toward white at the core.
final
enabled bool
Whether the shader effect is active. When false, only child renders.
final
glowIntensity double
Brightness multiplier. 1.0 is the default intensity.
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
position Offset
Normalized position of the orb center (0-1 on both axes).
final
pulseSpeed double
Speed of the breathing/pulsing animation in radians per second.
final
radius double
Radius of the orb as a fraction of the widget dimension.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

build(BuildContext context) Widget
Describes the part of the user interface represented by this widget.
override
createElement() StatelessElement
Creates a StatelessElement to manage this widget's location in the tree.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited