SDL 3.0
SDL_clipboard.h File Reference
+ Include dependency graph for SDL_clipboard.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef const void *(* SDL_ClipboardDataCallback) (void *userdata, const char *mime_type, size_t *size)
 
typedef void(* SDL_ClipboardCleanupCallback) (void *userdata)
 

Functions

bool SDL_SetClipboardText (const char *text)
 
char * SDL_GetClipboardText (void)
 
bool SDL_HasClipboardText (void)
 
bool SDL_SetPrimarySelectionText (const char *text)
 
char * SDL_GetPrimarySelectionText (void)
 
bool SDL_HasPrimarySelectionText (void)
 
bool SDL_SetClipboardData (SDL_ClipboardDataCallback callback, SDL_ClipboardCleanupCallback cleanup, void *userdata, const char **mime_types, size_t num_mime_types)
 
bool SDL_ClearClipboardData (void)
 
void * SDL_GetClipboardData (const char *mime_type, size_t *size)
 
bool SDL_HasClipboardData (const char *mime_type)
 
char ** SDL_GetClipboardMimeTypes (size_t *num_mime_types)
 

Typedef Documentation

◆ SDL_ClipboardCleanupCallback

typedef void(* SDL_ClipboardCleanupCallback) (void *userdata)

Callback function that will be called when the clipboard is cleared, or new data is set.

Parameters
userdataa pointer to provided user data.
Since
This function is available since SDL 3.1.3.
See also
SDL_SetClipboardData

Definition at line 178 of file SDL_clipboard.h.

◆ SDL_ClipboardDataCallback

typedef const void *(* SDL_ClipboardDataCallback) (void *userdata, const char *mime_type, size_t *size)

Callback function that will be called when data for the specified mime-type is requested by the OS.

The callback function is called with NULL as the mime_type when the clipboard is cleared or new data is set. The clipboard is automatically cleared in SDL_Quit().

Parameters
userdataa pointer to provided user data.
mime_typethe requested mime-type.
sizea pointer filled in with the length of the returned data.
Returns
a pointer to the data for the provided mime-type. Returning NULL or setting length to 0 will cause no data to be sent to the "receiver". It is up to the receiver to handle this. Essentially returning no data is more or less undefined behavior and may cause breakage in receiving applications. The returned data will not be freed so it needs to be retained and dealt with internally.
Since
This function is available since SDL 3.1.3.
See also
SDL_SetClipboardData

Definition at line 166 of file SDL_clipboard.h.

Function Documentation

◆ SDL_ClearClipboardData()

bool SDL_ClearClipboardData ( void  )

Clear the clipboard data.

Returns
true on success or false on failure; call SDL_GetError() for more information.

\threadsafety You may only call this function from the main thread.

Since
This function is available since SDL 3.1.3.
See also
SDL_SetClipboardData

◆ SDL_GetClipboardData()

void * SDL_GetClipboardData ( const char *  mime_type,
size_t *  size 
)

Get the data from 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.

Parameters
mime_typethe mime type to read from the clipboard.
sizea 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 You may only call this function from the main thread.

Since
This function is available since SDL 3.1.3.
See also
SDL_HasClipboardData
SDL_SetClipboardData

◆ SDL_GetClipboardMimeTypes()

char ** SDL_GetClipboardMimeTypes ( size_t *  num_mime_types)

Retrieve the list of mime types available in the clipboard.

Parameters
num_mime_typesa pointer filled with the number of mime types, may be NULL.
Returns
a null terminated array of strings with mime types, or NULL on failure; call SDL_GetError() for more information. This should be freed with SDL_free() when it is no longer needed.

\threadsafety You may only call this function from the main thread.

Since
This function is available since SDL 3.1.3.
See also
SDL_SetClipboardData

◆ SDL_GetClipboardText()

char * SDL_GetClipboardText ( void  )

Get UTF-8 text from the clipboard.

This functions returns an empty string if there was not enough memory left for a copy of the clipboard's content.

Returns
the clipboard text on success or an empty string on failure; call SDL_GetError() for more information. This should be freed with SDL_free() when it is no longer needed.

\threadsafety You may only call this function from the main thread.

Since
This function is available since SDL 3.1.3.
See also
SDL_HasClipboardText
SDL_SetClipboardText

◆ SDL_GetPrimarySelectionText()

char * SDL_GetPrimarySelectionText ( void  )

Get UTF-8 text from the primary selection.

This functions returns an empty string if there was not enough memory left for a copy of the primary selection's content.

Returns
the primary selection text on success or an empty string on failure; call SDL_GetError() for more information. This should be freed with SDL_free() when it is no longer needed.

\threadsafety You may only call this function from the main thread.

Since
This function is available since SDL 3.1.3.
See also
SDL_HasPrimarySelectionText
SDL_SetPrimarySelectionText

◆ SDL_HasClipboardData()

bool SDL_HasClipboardData ( const char *  mime_type)

Query whether there is data in the clipboard for the provided mime type.

Parameters
mime_typethe mime type to check for data for.
Returns
true if there exists data in clipboard for the provided mime type, false if it does not.

\threadsafety You may only call this function from the main thread.

Since
This function is available since SDL 3.1.3.
See also
SDL_SetClipboardData
SDL_GetClipboardData

◆ SDL_HasClipboardText()

bool SDL_HasClipboardText ( void  )

Query whether the clipboard exists and contains a non-empty text string.

Returns
true if the clipboard has text, or false if it does not.

\threadsafety You may only call this function from the main thread.

Since
This function is available since SDL 3.1.3.
See also
SDL_GetClipboardText
SDL_SetClipboardText

◆ SDL_HasPrimarySelectionText()

bool SDL_HasPrimarySelectionText ( void  )

Query whether the primary selection exists and contains a non-empty text string.

Returns
true if the primary selection has text, or false if it does not.

\threadsafety You may only call this function from the main thread.

Since
This function is available since SDL 3.1.3.
See also
SDL_GetPrimarySelectionText
SDL_SetPrimarySelectionText

◆ SDL_SetClipboardData()

bool SDL_SetClipboardData ( SDL_ClipboardDataCallback  callback,
SDL_ClipboardCleanupCallback  cleanup,
void *  userdata,
const char **  mime_types,
size_t  num_mime_types 
)

Offer clipboard data to the OS.

Tell the operating system that the application is offering clipboard data for each of the proivded mime-types. Once another application requests the data the callback function will be called allowing it to generate and respond with the data for the requested mime-type.

The size of text data does not include any terminator, and the text does not need to be null terminated (e.g. you can directly copy a portion of a document)

Parameters
callbacka function pointer to the function that provides the clipboard data.
cleanupa function pointer to the function that cleans up the clipboard data.
userdataan opaque pointer that will be forwarded to the callbacks.
mime_typesa list of mime-types that are being offered.
num_mime_typesthe number of mime-types in the mime_types list.
Returns
true on success or false on failure; call SDL_GetError() for more information.

\threadsafety You may only call this function from the main thread.

Since
This function is available since SDL 3.1.3.
See also
SDL_ClearClipboardData
SDL_GetClipboardData
SDL_HasClipboardData

◆ SDL_SetClipboardText()

bool SDL_SetClipboardText ( const char *  text)

CategoryClipboard

SDL provides access to the system clipboard, both for reading information from other processes and publishing information of its own.

This is not just text! SDL apps can access and publish data by mimetype. Put UTF-8 text into the clipboard.

Parameters
textthe text to store in the clipboard.
Returns
true on success or false on failure; call SDL_GetError() for more information.

\threadsafety You may only call this function from the main thread.

Since
This function is available since SDL 3.1.3.
See also
SDL_GetClipboardText
SDL_HasClipboardText

◆ SDL_SetPrimarySelectionText()

bool SDL_SetPrimarySelectionText ( const char *  text)

Put UTF-8 text into the primary selection.

Parameters
textthe text to store in the primary selection.
Returns
true on success or false on failure; call SDL_GetError() for more information.

\threadsafety You may only call this function from the main thread.

Since
This function is available since SDL 3.1.3.
See also
SDL_GetPrimarySelectionText
SDL_HasPrimarySelectionText