loadTexture method

Pointer<SdlTexture> loadTexture(
  1. String filename, {
  2. Archive? archive,
})

Implementation

Pointer<SdlTexture> loadTexture(String filename, {Archive? archive}) {
  if (list.containsKey(filename)) {
    return list[filename]!;
  }
  if (archive != null) {
    var file = archive.findFile(filename);
    if (file != null) {
      var content = file.content as List<int>;
      var contentPointer = calloc<Uint8>(content.length);
      for (var i = 0; i < content.length; i++) {
        contentPointer[i] = content[i];
      }
      var rwops = sdlRwFromMem(contentPointer, content.length);
      var texture = imgLoadTextureRw(renderer, rwops, 0);
      contentPointer.callocFree();
      list[filename] = texture;
      return texture;
    }
  }
  var texture = renderer.loadTexture(filename);
  list[filename] = texture;
  return texture;
}