sdlGetClipboardData function clipboard

Pointer<NativeType> sdlGetClipboardData(
  1. String? mimeType,
  2. Pointer<Uint32> size
)

Get the data from the clipboard for a given mime type.

The size of text data does not include the terminator, but the text is guaranteed to be null-terminated.

\param mime_type the mime type to read from the clipboard. \param size a pointer filled in with the length of the returned data. \returns the retrieved data buffer or NULL on failure; call SDL_GetError() for more information. This should be freed with SDL_free() when it is no longer needed.

\threadsafety This function should only be called on the main thread.

\since This function is available since SDL 3.2.0.

\sa SDL_HasClipboardData \sa SDL_SetClipboardData

extern SDL_DECLSPEC void * SDLCALL SDL_GetClipboardData(const char *mime_type, size_t *size)

Implementation

Pointer<NativeType> sdlGetClipboardData(
  String? mimeType,
  Pointer<Uint32> size,
) {
  final sdlGetClipboardDataLookupFunction = _libSdl
      .lookupFunction<
        Pointer<NativeType> Function(
          Pointer<Utf8> mimeType,
          Pointer<Uint32> size,
        ),
        Pointer<NativeType> Function(
          Pointer<Utf8> mimeType,
          Pointer<Uint32> size,
        )
      >('SDL_GetClipboardData');
  final mimeTypePointer = mimeType != null ? mimeType.toNativeUtf8() : nullptr;
  final result = sdlGetClipboardDataLookupFunction(mimeTypePointer, size);
  calloc.free(mimeTypePointer);
  return result;
}