GlassThemeData.simple constructor

GlassThemeData.simple({
  1. double? blur,
  2. double? thickness,
  3. GlassQuality? quality,
  4. double? chromaticAberration,
  5. double? lightIntensity,
  6. double? ambientStrength,
  7. double? refractiveIndex,
  8. double? saturation,
  9. double? borderRadius,
})

Creates glass theme data from a flat set of common properties.

This is the recommended constructor for most apps. It applies the same settings and quality to both light and dark modes using the library's built-in light/dark defaults as a base — you only need to specify what you want to change.

// Minimal — just set blur and thickness, everything else uses defaults:
GlassThemeData.simple(
  blur: 10,
  thickness: 30,
)

// With quality:
GlassThemeData.simple(
  blur: 10,
  thickness: 30,
  quality: GlassQuality.standard,
)

For fine-grained per-mode control (different blur in dark mode, custom glow colors, etc.) use the default GlassThemeData constructor instead.

Implementation

factory GlassThemeData.simple({
  double? blur,
  double? thickness,
  GlassQuality? quality,
  double? chromaticAberration,
  double? lightIntensity,
  double? ambientStrength,
  double? refractiveIndex,
  double? saturation,
  double? borderRadius,
}) {
  final settings = GlassThemeSettings(
    blur: blur,
    thickness: thickness,
    chromaticAberration: chromaticAberration,
    lightIntensity: lightIntensity,
    ambientStrength: ambientStrength,
    refractiveIndex: refractiveIndex,
    saturation: saturation,
  );

  return GlassThemeData(
    light: GlassThemeVariant.light.copyWith(
      settings: GlassThemeVariant.light.settings?.copyWith(
            blur: blur,
            thickness: thickness,
            chromaticAberration: chromaticAberration,
            lightIntensity: lightIntensity,
            ambientStrength: ambientStrength,
            refractiveIndex: refractiveIndex,
            saturation: saturation,
          ) ??
          settings,
      quality: quality,
      borderRadius: borderRadius,
    ),
    dark: GlassThemeVariant.dark.copyWith(
      settings: GlassThemeVariant.dark.settings?.copyWith(
            blur: blur,
            thickness: thickness,
            chromaticAberration: chromaticAberration,
            lightIntensity: lightIntensity,
            ambientStrength: ambientStrength,
            refractiveIndex: refractiveIndex,
            saturation: saturation,
          ) ??
          settings,
      quality: quality,
      borderRadius: borderRadius,
    ),
  );
}