sdlGetGamepadButtonFromString function

int sdlGetGamepadButtonFromString(
  1. String? str
)

Convert a string into an SDL_GamepadButton enum.

This function is called internally to translate SDL_Gamepad mapping strings for the underlying joystick device into the consistent SDL_Gamepad mapping. You do not normally need to call this function unless you are parsing SDL_Gamepad mappings in your own code.

\param str string representing a SDL_Gamepad axis. \returns the SDL_GamepadButton enum corresponding to the input string, or SDL_GAMEPAD_BUTTON_INVALID if no match was found.

\since This function is available since SDL 3.1.3.

\sa SDL_GetGamepadStringForButton

extern SDL_DECLSPEC SDL_GamepadButton SDLCALL SDL_GetGamepadButtonFromString(const char *str)

Implementation

int sdlGetGamepadButtonFromString(String? str) {
  final sdlGetGamepadButtonFromStringLookupFunction = libSdl3.lookupFunction<
      Int32 Function(Pointer<Utf8> str),
      int Function(Pointer<Utf8> str)>('SDL_GetGamepadButtonFromString');
  final strPointer = str != null ? str.toNativeUtf8() : nullptr;
  final result = sdlGetGamepadButtonFromStringLookupFunction(strPointer);
  calloc.free(strPointer);
  return result;
}