Removed SDL_EVENT_CLIPBOARD_CANCELLED in favor of the cleanup callback

This commit is contained in:
Sam Lantinga 2023-07-04 12:03:35 -07:00
parent 443868143c
commit c980ce2120
6 changed files with 2 additions and 32 deletions

View File

@ -175,7 +175,6 @@ typedef enum
/* Clipboard events */ /* Clipboard events */
SDL_EVENT_CLIPBOARD_UPDATE = 0x900, /**< The clipboard or primary selection changed */ SDL_EVENT_CLIPBOARD_UPDATE = 0x900, /**< The clipboard or primary selection changed */
SDL_EVENT_CLIPBOARD_CANCELLED, /**< The clipboard or primary selection cancelled */
/* Drag and drop events */ /* Drag and drop events */
SDL_EVENT_DROP_FILE = 0x1000, /**< The system requests a file open */ SDL_EVENT_DROP_FILE = 0x1000, /**< The system requests a file open */
@ -535,16 +534,12 @@ typedef struct SDL_DropEvent
} SDL_DropEvent; } SDL_DropEvent;
/** /**
* \brief An event triggered when the applications active clipboard content is cancelled by new clipboard content * \brief An event triggered when the clipboard contents have changed (event.clipboard.*)
* \note Primary use for this event is to free any userdata you may have provided when setting the clipboard data.
*
* \sa SDL_SetClipboardData
*/ */
typedef struct SDL_ClipboardEvent typedef struct SDL_ClipboardEvent
{ {
Uint32 type; /**< ::SDL_EVENT_CLIPBOARD_UPDATE or ::SDL_EVENT_CLIPBOARD_CANCELLED */ Uint32 type; /**< ::SDL_EVENT_CLIPBOARD_UPDATE */
Uint64 timestamp; /**< In nanoseconds, populated using SDL_GetTicksNS() */ Uint64 timestamp; /**< In nanoseconds, populated using SDL_GetTicksNS() */
void *userdata; /**< User data if any has been set. NULL for ::SDL_EVENT_CLIPBOARD_UPDATE */
} SDL_ClipboardEvent; } SDL_ClipboardEvent;
/** /**

View File

@ -35,23 +35,6 @@ int SDL_SendClipboardUpdate(void)
SDL_Event event; SDL_Event event;
event.type = SDL_EVENT_CLIPBOARD_UPDATE; event.type = SDL_EVENT_CLIPBOARD_UPDATE;
event.clipboard.timestamp = 0; event.clipboard.timestamp = 0;
event.clipboard.userdata = NULL;
posted = (SDL_PushEvent(&event) > 0);
}
return posted;
}
int SDL_SendClipboardCancelled(void *userdata)
{
int posted;
/* Post the event, if desired */
posted = 0;
if (SDL_EventEnabled(SDL_EVENT_CLIPBOARD_CANCELLED)) {
SDL_Event event;
event.type = SDL_EVENT_CLIPBOARD_CANCELLED;
event.clipboard.timestamp = 0;
event.clipboard.userdata = userdata;
posted = (SDL_PushEvent(&event) > 0); posted = (SDL_PushEvent(&event) > 0);
} }
return posted; return posted;

View File

@ -24,6 +24,5 @@
#define SDL_clipboardevents_c_h_ #define SDL_clipboardevents_c_h_
extern int SDL_SendClipboardUpdate(void); extern int SDL_SendClipboardUpdate(void);
extern int SDL_SendClipboardCancelled(void *userdata);
#endif /* SDL_clipboardevents_c_h_ */ #endif /* SDL_clipboardevents_c_h_ */

View File

@ -210,8 +210,6 @@ static void SDL_LogEvent(const SDL_Event *event)
break; break;
SDL_EVENT_CASE(SDL_EVENT_CLIPBOARD_UPDATE) SDL_EVENT_CASE(SDL_EVENT_CLIPBOARD_UPDATE)
break; break;
SDL_EVENT_CASE(SDL_EVENT_CLIPBOARD_CANCELLED)
break;
SDL_EVENT_CASE(SDL_EVENT_RENDER_TARGETS_RESET) SDL_EVENT_CASE(SDL_EVENT_RENDER_TARGETS_RESET)
break; break;
SDL_EVENT_CASE(SDL_EVENT_RENDER_DEVICE_RESET) SDL_EVENT_CASE(SDL_EVENT_RENDER_DEVICE_RESET)

View File

@ -1757,9 +1757,6 @@ static void SDLTest_PrintEvent(SDL_Event *event)
case SDL_EVENT_CLIPBOARD_UPDATE: case SDL_EVENT_CLIPBOARD_UPDATE:
SDL_Log("SDL EVENT: Clipboard updated"); SDL_Log("SDL EVENT: Clipboard updated");
break; break;
case SDL_EVENT_CLIPBOARD_CANCELLED:
SDL_Log("SDL EVENT: Clipboard ownership canceled");
break;
case SDL_EVENT_FINGER_MOTION: case SDL_EVENT_FINGER_MOTION:
SDL_Log("SDL EVENT: Finger: motion touch=%ld, finger=%ld, x=%f, y=%f, dx=%f, dy=%f, pressure=%f", SDL_Log("SDL EVENT: Finger: motion touch=%ld, finger=%ld, x=%f, y=%f, dx=%f, dy=%f, pressure=%f",

View File

@ -35,8 +35,6 @@ void SDL_CancelClipboardData(Uint32 sequence)
return; return;
} }
SDL_SendClipboardCancelled(_this->clipboard_userdata);
if (_this->clipboard_cleanup) { if (_this->clipboard_cleanup) {
_this->clipboard_cleanup(_this->clipboard_userdata); _this->clipboard_cleanup(_this->clipboard_userdata);
} }