public CupertinoUserInterfaceLevel( Key key = null, CupertinoUserInterfaceLevelData data = default, Widget child = null ) : base(key: key, child: child) { D.assert(data != null); _data = data; }
public CupertinoDynamicColor resolveFrom(BuildContext context, bool nullOk = true) { Brightness brightness = _isPlatformBrightnessDependent ? CupertinoTheme.brightnessOf(context, nullOk: nullOk) ?? Brightness.light : Brightness.light; bool isHighContrastEnabled = _isHighContrastDependent && (MediaQuery.of(context, nullOk: nullOk)?.highContrast ?? false); CupertinoUserInterfaceLevelData level = _isInterfaceElevationDependent ? CupertinoUserInterfaceLevel.of(context, nullOk: nullOk) ?? CupertinoUserInterfaceLevelData.baselayer : CupertinoUserInterfaceLevelData.baselayer; Color resolved = null; switch (brightness) { case Brightness.light: switch (level) { case CupertinoUserInterfaceLevelData.baselayer: resolved = isHighContrastEnabled ? highContrastColor : color; break; case CupertinoUserInterfaceLevelData.elevatedlayer: resolved = isHighContrastEnabled ? highContrastElevatedColor : elevatedColor; break; } break; case Brightness.dark: switch (level) { case CupertinoUserInterfaceLevelData.baselayer: resolved = isHighContrastEnabled ? darkHighContrastColor : darkColor; break; case CupertinoUserInterfaceLevelData.elevatedlayer: resolved = isHighContrastEnabled ? darkHighContrastElevatedColor : darkElevatedColor; break; } break; } Element _debugContext = null; D.assert(() => { _debugContext = context as Element; return(true); } ); return(new CupertinoDynamicColor( debugLabel: _debugLabel, effectiveColor: resolved, color: color, darkColor: darkColor, highContrastColor: highContrastColor, darkHighContrastColor: darkHighContrastColor, elevatedColor: color, darkElevatedColor: darkColor, highContrastElevatedColor: highContrastColor, darkHighContrastElevatedColor: darkHighContrastColor, debugResolveContext: null )); }