sdlCreateThread function
Pointer<SdlThread>
sdlCreateThread(
- Pointer<
NativeFunction< fn,SdlThreadFunction> > - String? name,
- Pointer<
NativeType> data, - Pointer<
NativeFunction< pfnBeginThread,PfnSdlCurrentBeginThread> > - Pointer<
NativeFunction< pfnEndThread,PfnSdlCurrentEndThread> >
extern DECLSPEC SDL_Thread *SDLCALL SDL_CreateThread(SDL_ThreadFunction fn, const char *name, void *data, pfnSDL_CurrentBeginThread pfnBeginThread, pfnSDL_CurrentEndThread pfnEndThread)
Implementation
Pointer<SdlThread> sdlCreateThread(
Pointer<NativeFunction<SdlThreadFunction>> fn,
String? name,
Pointer<NativeType> data,
Pointer<NativeFunction<PfnSdlCurrentBeginThread>> pfnBeginThread,
Pointer<NativeFunction<PfnSdlCurrentEndThread>> pfnEndThread) {
final sdlCreateThreadLookupFunction = libSdl2.lookupFunction<
Pointer<SdlThread> Function(
Pointer<NativeFunction<SdlThreadFunction>> fn,
Pointer<Utf8> name,
Pointer<NativeType> data,
Pointer<NativeFunction<PfnSdlCurrentBeginThread>> pfnBeginThread,
Pointer<NativeFunction<PfnSdlCurrentEndThread>> pfnEndThread),
Pointer<SdlThread> Function(
Pointer<NativeFunction<SdlThreadFunction>> fn,
Pointer<Utf8> name,
Pointer<NativeType> data,
Pointer<NativeFunction<PfnSdlCurrentBeginThread>> pfnBeginThread,
Pointer<NativeFunction<PfnSdlCurrentEndThread>> pfnEndThread)>(
'SDL_CreateThread');
final namePointer = name != null ? name.toNativeUtf8() : nullptr;
final result = sdlCreateThreadLookupFunction(
fn, namePointer, data, pfnBeginThread, pfnEndThread);
calloc.free(namePointer);
return result;
}