mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-06-01 06:44:27 +08:00
Improve constness with Clipboard APIs
This commit is contained in:
committed by
Ryan C. Gordon
parent
509a36db16
commit
43c928ee86
@@ -252,7 +252,7 @@ typedef void (SDLCALL *SDL_ClipboardCleanupCallback)(void *userdata);
|
|||||||
* \sa SDL_GetClipboardData
|
* \sa SDL_GetClipboardData
|
||||||
* \sa SDL_HasClipboardData
|
* \sa SDL_HasClipboardData
|
||||||
*/
|
*/
|
||||||
extern SDL_DECLSPEC bool SDLCALL SDL_SetClipboardData(SDL_ClipboardDataCallback callback, SDL_ClipboardCleanupCallback cleanup, void *userdata, const char **mime_types, size_t num_mime_types);
|
extern SDL_DECLSPEC bool SDLCALL SDL_SetClipboardData(SDL_ClipboardDataCallback callback, SDL_ClipboardCleanupCallback cleanup, void *userdata, const char *const *mime_types, size_t num_mime_types);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clear the clipboard data.
|
* Clear the clipboard data.
|
||||||
|
|||||||
@@ -830,7 +830,7 @@ SDL_DYNAPI_PROC(bool,SDL_SetAudioStreamInputChannelMap,(SDL_AudioStream *a, cons
|
|||||||
SDL_DYNAPI_PROC(bool,SDL_SetAudioStreamOutputChannelMap,(SDL_AudioStream *a, const int *b, int c),(a,b,c),return)
|
SDL_DYNAPI_PROC(bool,SDL_SetAudioStreamOutputChannelMap,(SDL_AudioStream *a, const int *b, int c),(a,b,c),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_SetAudioStreamPutCallback,(SDL_AudioStream *a, SDL_AudioStreamCallback b, void *c),(a,b,c),return)
|
SDL_DYNAPI_PROC(bool,SDL_SetAudioStreamPutCallback,(SDL_AudioStream *a, SDL_AudioStreamCallback b, void *c),(a,b,c),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_SetBooleanProperty,(SDL_PropertiesID a, const char *b, bool c),(a,b,c),return)
|
SDL_DYNAPI_PROC(bool,SDL_SetBooleanProperty,(SDL_PropertiesID a, const char *b, bool c),(a,b,c),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_SetClipboardData,(SDL_ClipboardDataCallback a, SDL_ClipboardCleanupCallback b, void *c, const char **d, size_t e),(a,b,c,d,e),return)
|
SDL_DYNAPI_PROC(bool,SDL_SetClipboardData,(SDL_ClipboardDataCallback a, SDL_ClipboardCleanupCallback b, void *c, const char *const *d, size_t e),(a,b,c,d,e),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_SetClipboardText,(const char *a),(a),return)
|
SDL_DYNAPI_PROC(bool,SDL_SetClipboardText,(const char *a),(a),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_SetCurrentThreadPriority,(SDL_ThreadPriority a),(a),return)
|
SDL_DYNAPI_PROC(bool,SDL_SetCurrentThreadPriority,(SDL_ThreadPriority a),(a),return)
|
||||||
SDL_DYNAPI_PROC(bool,SDL_SetCursor,(SDL_Cursor *a),(a),return)
|
SDL_DYNAPI_PROC(bool,SDL_SetCursor,(SDL_Cursor *a),(a),return)
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ void SDL_CancelClipboardData(Uint32 sequence)
|
|||||||
_this->clipboard_userdata = NULL;
|
_this->clipboard_userdata = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SDL_SaveClipboardMimeTypes(const char **mime_types, size_t num_mime_types)
|
bool SDL_SaveClipboardMimeTypes(const char *const *mime_types, size_t num_mime_types)
|
||||||
{
|
{
|
||||||
SDL_VideoDevice *_this = SDL_GetVideoDevice();
|
SDL_VideoDevice *_this = SDL_GetVideoDevice();
|
||||||
|
|
||||||
@@ -93,7 +93,7 @@ bool SDL_SaveClipboardMimeTypes(const char **mime_types, size_t num_mime_types)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SDL_SetClipboardData(SDL_ClipboardDataCallback callback, SDL_ClipboardCleanupCallback cleanup, void *userdata, const char **mime_types, size_t num_mime_types)
|
bool SDL_SetClipboardData(SDL_ClipboardDataCallback callback, SDL_ClipboardCleanupCallback cleanup, void *userdata, const char *const *mime_types, size_t num_mime_types)
|
||||||
{
|
{
|
||||||
SDL_VideoDevice *_this = SDL_GetVideoDevice();
|
SDL_VideoDevice *_this = SDL_GetVideoDevice();
|
||||||
|
|
||||||
@@ -265,7 +265,7 @@ bool SDL_HasClipboardData(const char *mime_type)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
char **SDL_CopyClipboardMimeTypes(const char **clipboard_mime_types, size_t num_mime_types, bool temporary)
|
char **SDL_CopyClipboardMimeTypes(const char *const *clipboard_mime_types, size_t num_mime_types, bool temporary)
|
||||||
{
|
{
|
||||||
size_t allocSize = sizeof(char *);
|
size_t allocSize = sizeof(char *);
|
||||||
for (size_t i = 0; i < num_mime_types; i++) {
|
for (size_t i = 0; i < num_mime_types; i++) {
|
||||||
@@ -326,12 +326,12 @@ bool SDL_IsTextMimeType(const char *mime_type)
|
|||||||
return (SDL_strncmp(mime_type, "text", 4) == 0);
|
return (SDL_strncmp(mime_type, "text", 4) == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char **SDL_GetTextMimeTypes(SDL_VideoDevice *_this, size_t *num_mime_types)
|
static const char *const *SDL_GetTextMimeTypes(SDL_VideoDevice *_this, size_t *num_mime_types)
|
||||||
{
|
{
|
||||||
if (_this->GetTextMimeTypes) {
|
if (_this->GetTextMimeTypes) {
|
||||||
return _this->GetTextMimeTypes(_this, num_mime_types);
|
return _this->GetTextMimeTypes(_this, num_mime_types);
|
||||||
} else {
|
} else {
|
||||||
static const char *text_mime_types[] = {
|
static const char *const text_mime_types[] = {
|
||||||
"text/plain;charset=utf-8"
|
"text/plain;charset=utf-8"
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -355,7 +355,7 @@ bool SDL_SetClipboardText(const char *text)
|
|||||||
{
|
{
|
||||||
SDL_VideoDevice *_this = SDL_GetVideoDevice();
|
SDL_VideoDevice *_this = SDL_GetVideoDevice();
|
||||||
size_t num_mime_types;
|
size_t num_mime_types;
|
||||||
const char **text_mime_types;
|
const char *const *text_mime_types;
|
||||||
|
|
||||||
if (!_this) {
|
if (!_this) {
|
||||||
return SDL_UninitializedVideo();
|
return SDL_UninitializedVideo();
|
||||||
@@ -373,7 +373,7 @@ char *SDL_GetClipboardText(void)
|
|||||||
{
|
{
|
||||||
SDL_VideoDevice *_this = SDL_GetVideoDevice();
|
SDL_VideoDevice *_this = SDL_GetVideoDevice();
|
||||||
size_t i, num_mime_types;
|
size_t i, num_mime_types;
|
||||||
const char **text_mime_types;
|
const char *const *text_mime_types;
|
||||||
size_t length;
|
size_t length;
|
||||||
char *text = NULL;
|
char *text = NULL;
|
||||||
|
|
||||||
@@ -401,7 +401,7 @@ bool SDL_HasClipboardText(void)
|
|||||||
{
|
{
|
||||||
SDL_VideoDevice *_this = SDL_GetVideoDevice();
|
SDL_VideoDevice *_this = SDL_GetVideoDevice();
|
||||||
size_t i, num_mime_types;
|
size_t i, num_mime_types;
|
||||||
const char **text_mime_types;
|
const char *const *text_mime_types;
|
||||||
|
|
||||||
if (!_this) {
|
if (!_this) {
|
||||||
return SDL_UninitializedVideo();
|
return SDL_UninitializedVideo();
|
||||||
|
|||||||
@@ -39,8 +39,8 @@ extern bool SDL_HasInternalClipboardData(SDL_VideoDevice *_this, const char *mim
|
|||||||
// General purpose clipboard text callback
|
// General purpose clipboard text callback
|
||||||
const void * SDLCALL SDL_ClipboardTextCallback(void *userdata, const char *mime_type, size_t *size);
|
const void * SDLCALL SDL_ClipboardTextCallback(void *userdata, const char *mime_type, size_t *size);
|
||||||
|
|
||||||
bool SDL_SaveClipboardMimeTypes(const char **mime_types, size_t num_mime_types);
|
bool SDL_SaveClipboardMimeTypes(const char *const *mime_types, size_t num_mime_types);
|
||||||
void SDL_FreeClipboardMimeTypes(SDL_VideoDevice *_this);
|
void SDL_FreeClipboardMimeTypes(SDL_VideoDevice *_this);
|
||||||
char **SDL_CopyClipboardMimeTypes(const char **clipboard_mime_types, size_t num_mime_types, bool temporary);
|
char **SDL_CopyClipboardMimeTypes(const char *const *clipboard_mime_types, size_t num_mime_types, bool temporary);
|
||||||
|
|
||||||
#endif // SDL_clipboard_c_h_
|
#endif // SDL_clipboard_c_h_
|
||||||
|
|||||||
@@ -376,7 +376,7 @@ struct SDL_VideoDevice
|
|||||||
void (*SetTextInputProperties)(SDL_VideoDevice *_this, SDL_Window *window, SDL_PropertiesID props);
|
void (*SetTextInputProperties)(SDL_VideoDevice *_this, SDL_Window *window, SDL_PropertiesID props);
|
||||||
|
|
||||||
// Clipboard
|
// Clipboard
|
||||||
const char **(*GetTextMimeTypes)(SDL_VideoDevice *_this, size_t *num_mime_types);
|
const char *const *(*GetTextMimeTypes)(SDL_VideoDevice *_this, size_t *num_mime_types);
|
||||||
bool (*SetClipboardData)(SDL_VideoDevice *_this);
|
bool (*SetClipboardData)(SDL_VideoDevice *_this);
|
||||||
void *(*GetClipboardData)(SDL_VideoDevice *_this, const char *mime_type, size_t *size);
|
void *(*GetClipboardData)(SDL_VideoDevice *_this, const char *mime_type, size_t *size);
|
||||||
bool (*HasClipboardData)(SDL_VideoDevice *_this, const char *mime_type);
|
bool (*HasClipboardData)(SDL_VideoDevice *_this, const char *mime_type);
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ bool Wayland_HasClipboardData(SDL_VideoDevice *_this, const char *mime_type)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *text_mime_types[] = {
|
static const char *const text_mime_types[] = {
|
||||||
TEXT_MIME,
|
TEXT_MIME,
|
||||||
"text/plain",
|
"text/plain",
|
||||||
"TEXT",
|
"TEXT",
|
||||||
@@ -104,7 +104,7 @@ static const char *text_mime_types[] = {
|
|||||||
"STRING"
|
"STRING"
|
||||||
};
|
};
|
||||||
|
|
||||||
const char **Wayland_GetTextMimeTypes(SDL_VideoDevice *_this, size_t *num_mime_types)
|
const char *const *Wayland_GetTextMimeTypes(SDL_VideoDevice *_this, size_t *num_mime_types)
|
||||||
{
|
{
|
||||||
*num_mime_types = SDL_arraysize(text_mime_types);
|
*num_mime_types = SDL_arraysize(text_mime_types);
|
||||||
return text_mime_types;
|
return text_mime_types;
|
||||||
@@ -185,7 +185,7 @@ bool Wayland_HasPrimarySelectionText(SDL_VideoDevice *_this)
|
|||||||
result = true;
|
result = true;
|
||||||
} else {
|
} else {
|
||||||
size_t mime_count = 0;
|
size_t mime_count = 0;
|
||||||
const char **mime_types = Wayland_GetTextMimeTypes(_this, &mime_count);
|
const char *const *mime_types = Wayland_GetTextMimeTypes(_this, &mime_count);
|
||||||
for (size_t i = 0; i < mime_count; i++) {
|
for (size_t i = 0; i < mime_count; i++) {
|
||||||
if (Wayland_primary_selection_offer_has_mime(primary_selection_device->selection_offer, mime_types[i])) {
|
if (Wayland_primary_selection_offer_has_mime(primary_selection_device->selection_offer, mime_types[i])) {
|
||||||
result = true;
|
result = true;
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
#ifndef SDL_waylandclipboard_h_
|
#ifndef SDL_waylandclipboard_h_
|
||||||
#define SDL_waylandclipboard_h_
|
#define SDL_waylandclipboard_h_
|
||||||
|
|
||||||
extern const char **Wayland_GetTextMimeTypes(SDL_VideoDevice *_this, size_t *num_mime_types);
|
extern const char *const *Wayland_GetTextMimeTypes(SDL_VideoDevice *_this, size_t *num_mime_types);
|
||||||
extern bool Wayland_SetClipboardData(SDL_VideoDevice *_this);
|
extern bool Wayland_SetClipboardData(SDL_VideoDevice *_this);
|
||||||
extern void *Wayland_GetClipboardData(SDL_VideoDevice *_this, const char *mime_type, size_t *length);
|
extern void *Wayland_GetClipboardData(SDL_VideoDevice *_this, const char *mime_type, size_t *length);
|
||||||
extern bool Wayland_HasClipboardData(SDL_VideoDevice *_this, const char *mime_type);
|
extern bool Wayland_HasClipboardData(SDL_VideoDevice *_this, const char *mime_type);
|
||||||
|
|||||||
@@ -705,7 +705,7 @@ bool Wayland_data_device_set_selection(SDL_WaylandDataDevice *data_device,
|
|||||||
|
|
||||||
bool Wayland_primary_selection_device_set_selection(SDL_WaylandPrimarySelectionDevice *primary_selection_device,
|
bool Wayland_primary_selection_device_set_selection(SDL_WaylandPrimarySelectionDevice *primary_selection_device,
|
||||||
SDL_WaylandPrimarySelectionSource *source,
|
SDL_WaylandPrimarySelectionSource *source,
|
||||||
const char **mime_types,
|
const char *const *mime_types,
|
||||||
size_t mime_count)
|
size_t mime_count)
|
||||||
{
|
{
|
||||||
bool result = true;
|
bool result = true;
|
||||||
|
|||||||
@@ -167,7 +167,7 @@ extern bool Wayland_data_device_set_selection(SDL_WaylandDataDevice *device,
|
|||||||
size_t mime_count);
|
size_t mime_count);
|
||||||
extern bool Wayland_primary_selection_device_set_selection(SDL_WaylandPrimarySelectionDevice *device,
|
extern bool Wayland_primary_selection_device_set_selection(SDL_WaylandPrimarySelectionDevice *device,
|
||||||
SDL_WaylandPrimarySelectionSource *source,
|
SDL_WaylandPrimarySelectionSource *source,
|
||||||
const char **mime_types,
|
const char *const *mime_types,
|
||||||
size_t mime_count);
|
size_t mime_count);
|
||||||
extern void Wayland_data_device_set_serial(SDL_WaylandDataDevice *device,
|
extern void Wayland_data_device_set_serial(SDL_WaylandDataDevice *device,
|
||||||
uint32_t serial);
|
uint32_t serial);
|
||||||
|
|||||||
@@ -2824,7 +2824,7 @@ static void data_device_handle_enter(void *data, struct wl_data_device *wl_data_
|
|||||||
}
|
}
|
||||||
|
|
||||||
size_t mime_count = 0;
|
size_t mime_count = 0;
|
||||||
const char **text_mime_types = Wayland_GetTextMimeTypes(SDL_GetVideoDevice(), &mime_count);
|
const char *const *text_mime_types = Wayland_GetTextMimeTypes(SDL_GetVideoDevice(), &mime_count);
|
||||||
for (size_t i = 0; i < mime_count; ++i) {
|
for (size_t i = 0; i < mime_count; ++i) {
|
||||||
if (Wayland_data_offer_has_mime(data_device->drag_offer, text_mime_types[i])) {
|
if (Wayland_data_offer_has_mime(data_device->drag_offer, text_mime_types[i])) {
|
||||||
data_device->has_mime_text = true;
|
data_device->has_mime_text = true;
|
||||||
|
|||||||
@@ -29,7 +29,7 @@
|
|||||||
#include "../SDL_clipboard_c.h"
|
#include "../SDL_clipboard_c.h"
|
||||||
#include "../../events/SDL_events_c.h"
|
#include "../../events/SDL_events_c.h"
|
||||||
|
|
||||||
static const char *text_mime_types[] = {
|
static const char *const text_mime_types[] = {
|
||||||
"UTF8_STRING",
|
"UTF8_STRING",
|
||||||
"text/plain;charset=utf-8",
|
"text/plain;charset=utf-8",
|
||||||
"text/plain",
|
"text/plain",
|
||||||
@@ -62,7 +62,7 @@ Window GetWindow(SDL_VideoDevice *_this)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static bool SetSelectionData(SDL_VideoDevice *_this, Atom selection, SDL_ClipboardDataCallback callback,
|
static bool SetSelectionData(SDL_VideoDevice *_this, Atom selection, SDL_ClipboardDataCallback callback,
|
||||||
void *userdata, const char **mime_types, size_t mime_count, Uint32 sequence)
|
void *userdata, const char *const *mime_types, size_t mime_count, Uint32 sequence)
|
||||||
{
|
{
|
||||||
SDL_VideoData *videodata = _this->internal;
|
SDL_VideoData *videodata = _this->internal;
|
||||||
Display *display = videodata->display;
|
Display *display = videodata->display;
|
||||||
@@ -258,7 +258,7 @@ static void *GetSelectionData(SDL_VideoDevice *_this, Atom selection_type,
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char **X11_GetTextMimeTypes(SDL_VideoDevice *_this, size_t *num_mime_types)
|
const char *const *X11_GetTextMimeTypes(SDL_VideoDevice *_this, size_t *num_mime_types)
|
||||||
{
|
{
|
||||||
*num_mime_types = SDL_arraysize(text_mime_types);
|
*num_mime_types = SDL_arraysize(text_mime_types);
|
||||||
return text_mime_types;
|
return text_mime_types;
|
||||||
|
|||||||
@@ -28,12 +28,12 @@
|
|||||||
typedef struct X11_ClipboardData {
|
typedef struct X11_ClipboardData {
|
||||||
SDL_ClipboardDataCallback callback;
|
SDL_ClipboardDataCallback callback;
|
||||||
void *userdata;
|
void *userdata;
|
||||||
const char **mime_types;
|
const char *const *mime_types;
|
||||||
size_t mime_count;
|
size_t mime_count;
|
||||||
Uint32 sequence;
|
Uint32 sequence;
|
||||||
} SDLX11_ClipboardData;
|
} SDLX11_ClipboardData;
|
||||||
|
|
||||||
extern const char **X11_GetTextMimeTypes(SDL_VideoDevice *_this, size_t *num_mime_types);
|
extern const char *const *X11_GetTextMimeTypes(SDL_VideoDevice *_this, size_t *num_mime_types);
|
||||||
extern bool X11_SetClipboardData(SDL_VideoDevice *_this);
|
extern bool X11_SetClipboardData(SDL_VideoDevice *_this);
|
||||||
extern void *X11_GetClipboardData(SDL_VideoDevice *_this, const char *mime_type, size_t *length);
|
extern void *X11_GetClipboardData(SDL_VideoDevice *_this, const char *mime_type, size_t *length);
|
||||||
extern bool X11_HasClipboardData(SDL_VideoDevice *_this, const char *mime_type);
|
extern bool X11_HasClipboardData(SDL_VideoDevice *_this, const char *mime_type);
|
||||||
|
|||||||
Reference in New Issue
Block a user