// GENERATED CODE - DO NOT MODIFY BY HAND

part of 'guru_app_bar.dart';

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

class _GuruAppBarDesignSpec extends GuruAppBarDesignSpec {
  _GuruAppBarDesignSpec._(
    this.measuredMetrics,
    this.specOffset,
    this.appBarMarginTop,
    this.appBarLargTopSpcing,
    this.appBarHeight,
    this.appBarLargeHeight,
    this.backIconLeftSpacing,
    this.backIconMarginStart,
    this.leadingIconSize,
    this.titleTextSmallSize,
    this.titleTextMiddleSize,
    this.titleTextLargeSize,
    this.actionIconSize,
  );

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

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

  @override
  final double appBarMarginTop;

  @override
  final double appBarLargTopSpcing;

  @override
  final double appBarHeight;

  @override
  final double appBarLargeHeight;

  @override
  final double backIconLeftSpacing;

  @override
  final double backIconMarginStart;

  @override
  final double leadingIconSize;

  @override
  final double titleTextSmallSize;

  @override
  final double titleTextMiddleSize;

  @override
  final double titleTextLargeSize;

  @override
  final double actionIconSize;

  @override
  final MeasuredMetrics measuredMetrics;

  @override
  final Offset specOffset;

  @override
  Size get measuredSize => measuredMetrics.size;

  static _GuruAppBarDesignSpec _create(
    Size measuredSize, {
    Offset offset = Offset.zero,
  }) {
    final _measuredMetrics = designMetrics.measure(measuredSize);
    return _GuruAppBarDesignSpec._(
      _measuredMetrics, offset,
      _measuredMetrics.statusBarHeight(50.0), // appBarMarginTop
      _measuredMetrics.measureHeight(10.0,
          consistent: false), // appBarLargTopSpcing
      _measuredMetrics.measureHeight(88.0, consistent: false), // appBarHeight
      _measuredMetrics.measureHeight(94.0,
          consistent: false), // appBarLargeHeight
      _measuredMetrics.measureHorizontal(24.0), // backIconLeftSpacing
      _measuredMetrics.measureHorizontal(16.0), // backIconMarginStart
      _measuredMetrics.measureHeight(48.0,
          consistent: false), // leadingIconSize
      _measuredMetrics.measureAbsoluteFontSize(34.0,
          consistent: false), // titleTextSmallSize
      _measuredMetrics.measureAbsoluteFontSize(40.0,
          consistent: false), // titleTextMiddleSize
      _measuredMetrics.measureAbsoluteFontSize(50.0,
          consistent: false), // titleTextLargeSize
      _measuredMetrics.measureHeight(48.0, consistent: false), // actionIconSize
    );
  }

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