resource method

Uint8List resource(
  1. String reference
)

Raw bytes for a declared resource id or raw path.

Implementation

Uint8List resource(String reference) {
  final name = reference.toNativeUtf8();
  final length = malloc<UintPtr>();
  try {
    final data = _rvaResource(_handle, name, length);
    if (data == nullptr) {
      throw StateError('rva_resource failed: ${RVAImage.lastError()}');
    }
    final bytes = Uint8List.fromList(data.asTypedList(length.value));
    _rvaFreeBuffer(data, length.value);
    return bytes;
  } finally {
    malloc.free(name);
    malloc.free(length);
  }
}