getSizeAsync method

  1. @override
Future<Size> getSizeAsync(
  1. AsyncImageInput input
)
override

Returns the size of the input.

Implementation

@override
Future<Size> getSizeAsync(AsyncImageInput input) async {
  final chunkHeader = await input.getRange(12, 16);
  if (_isExtendedFormat(chunkHeader)) {
    final widthList = await input.getRange(0x18, 0x1b);
    final heightList = await input.getRange(0x1b, 0x1d);
    return _createExtendedFormatSize(widthList, heightList);
  } else if (_isLosslessFormat(chunkHeader)) {
    final sizeList = await input.getRange(0x15, 0x19);
    return _createLosslessFormatSize(sizeList);
  } else {
    final widthList = await input.getRange(0x1a, 0x1c);
    final heightList = await input.getRange(0x1c, 0x1e);
    return _createNormalSize(widthList, heightList);
  }
}