GuiLoadIcons method

List<String> GuiLoadIcons(
  1. String fileName,
  2. bool loadIconsName
)

Implementation

List<String> GuiLoadIcons(
  String fileName,
  bool loadIconsName,
) => run(
  () => 'GuiLoadIcons($fileName, $loadIconsName)',
  () {
    final values = rl.Gui.GuiLoadIcons(
      rl.Temp.String$.ValueOrNull(fileName),
      loadIconsName,
    );
    if (!loadIconsName || values == nullptr) return [];

    // read iconCount from file header (2 bytes short at offset 8)
    try {
      final file = File(fileName).openSync();
      file.setPositionSync(8);
      final bytes = file.readSync(2);
      file.closeSync();
      final iconCount = ByteData.sublistView(bytes).getInt16(0, Endian.little);
      return .generate(iconCount, (i) => values[i].toD);
    } catch (_) {
      return [];
    }
  },
);