color method

Color color(
  1. ColorScheme? scheme, {
  2. Brightness brightness = Brightness.light,
  3. bool? useMaterial3,
})

Return the Color corresponding to the enum value.

Implementation

Color color(
  ColorScheme? scheme, {
  Brightness brightness = Brightness.light,
  bool? useMaterial3,
}) {
  final bool isLight = scheme == null
      ? brightness == Brightness.light
      : scheme.brightness == Brightness.light;

  switch (this) {
    case FlexScaffoldBaseColor.lowestBase:
      return isLight ? Colors.white : Colors.black;
    case FlexScaffoldBaseColor.surface:
      return scheme?.surface ??
          (isLight
              ? useMaterial3 ?? true
                  ? FlexColor.lightFlexSurface
                  : FlexColor.materialLightScaffoldBackground
              : useMaterial3 ?? true
                  ? FlexColor.darkFlexSurface
                  : FlexColor.materialDarkScaffoldBackground);
    case FlexScaffoldBaseColor.surfaceDim:
      return scheme?.surfaceDim ??
          (isLight
              ? FlexColor.lightFlexSurfaceDim
              : FlexColor.darkFlexSurfaceDim);
    case FlexScaffoldBaseColor.surfaceBright:
      return scheme?.surfaceBright ??
          (isLight
              ? FlexColor.lightFlexSurfaceBright
              : FlexColor.darkFlexSurfaceBright);
    case FlexScaffoldBaseColor.surfaceContainerLowest:
      return scheme?.surfaceContainerLowest ??
          (isLight
              ? FlexColor.lightFlexSurfaceContainerLowest
              : FlexColor.darkFlexSurfaceContainerLowest);
    case FlexScaffoldBaseColor.surfaceContainerLow:
      return scheme?.surfaceContainerLow ??
          (isLight
              ? FlexColor.lightFlexSurfaceContainerLow
              : FlexColor.darkFlexSurfaceContainerLow);
    case FlexScaffoldBaseColor.surfaceContainer:
      return scheme?.surfaceContainer ??
          (isLight
              ? FlexColor.lightFlexSurfaceContainer
              : FlexColor.darkFlexSurfaceContainer);
    case FlexScaffoldBaseColor.surfaceContainerHigh:
      return scheme?.surfaceContainerHigh ??
          (isLight
              ? FlexColor.lightFlexSurfaceContainerHigh
              : FlexColor.darkFlexSurfaceContainerHigh);
    case FlexScaffoldBaseColor.surfaceContainerHighest:
      return scheme?.surfaceContainerHighest ??
          (isLight
              ? FlexColor.lightFlexSurfaceContainerHighest
              : FlexColor.darkFlexSurfaceContainerHighest);
  }
}