IcoFile.fromBytes constructor

IcoFile.fromBytes(
  1. Uint8List bytes
)

Creates an IcoFile from a Uint8List.

Implementation

factory IcoFile.fromBytes(Uint8List bytes) {
  final data = bytes.buffer.asByteData();
  final header = IcoHeader.fromBytes(data);
  final directoryEntries = <IconDirectoryEntry>[];
  var offset = IcoHeader.headerSize;

  for (var i = 0; i < header.imageCount; i++) {
    final directoryEntry = IconDirectoryEntry.fromBytes(data, offset);
    directoryEntries.add(directoryEntry);
    offset += IconDirectoryEntry.entrySize;
  }

  return IcoFile._(header: header, directoryEntries: directoryEntries);
}