// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'root_model.dart';

// **************************************************************************
// DesignSpecGenerator
// **************************************************************************

class _RootDesignSpec extends RootDesignSpec {
  _RootDesignSpec._(
    this.measuredMetrics,
    this.specOffset,
    this.itemIconSize,
    this.itemIconEndSpacing,
    this.itemTextFontSize,
    this.itemHeight,
    this.switchItemIconSize,
    this.itemStartSpacing,
    this.entryItemEndSpacing,
    this.entryItemIconSize,
    this.actionIconTopSpacing,
  );

  static final designMetrics = DesignMetrics.create(const Size(750.0, 1624.0));

  static final Map<String, _RootDesignSpec> _cache = {};

  @override
  final double itemIconSize;

  @override
  final double itemIconEndSpacing;

  @override
  final double itemTextFontSize;

  @override
  final double itemHeight;

  @override
  final double switchItemIconSize;

  @override
  final double itemStartSpacing;

  @override
  final double entryItemEndSpacing;

  @override
  final double entryItemIconSize;

  @override
  final double actionIconTopSpacing;

  @override
  final MeasuredMetrics measuredMetrics;

  @override
  final Offset specOffset;

  @override
  Size get measuredSize => measuredMetrics.size;
  static _RootDesignSpec _create(
    Size measuredSize, {
    Offset offset = Offset.zero,
  }) {
    final _measuredMetrics = designMetrics.measure(measuredSize);
    return _RootDesignSpec._(
      _measuredMetrics, offset,
      _measuredMetrics.measureHeight(48.0, consistent: false), // itemIconSize
      _measuredMetrics.measureHorizontal(20.0), // itemIconEndSpacing
      _measuredMetrics.measureAbsoluteFontSize(32.0,
          consistent: false), // itemTextFontSize
      _measuredMetrics.measureHeight(137.0, consistent: false), // itemHeight
      _measuredMetrics.measureHeight(114.0,
          consistent: false), // switchItemIconSize
      _measuredMetrics.measureHorizontal(44.0), // itemStartSpacing
      _measuredMetrics.measureHorizontal(32.0), // entryItemEndSpacing
      _measuredMetrics.measureHeight(48.0,
          consistent: false), // entryItemIconSize
      _measuredMetrics.measureHeight(8.0,
          consistent: true), // actionIconTopSpacing
    );
  }

  static RootDesignSpec get({Offset offset = Offset.zero}) {
    final Size measuredSize = Get.size;
    final key = BasicDesignSpec.buildSpecKey(measuredSize, offset);
    _RootDesignSpec? designSpec = _cache[key];
    if (kDebugMode || designSpec == null) {
      designSpec = _create(measuredSize, offset: offset);
      _cache[key] = designSpec;
    }
    return designSpec;
  }
}
