21#include "../../SDL_internal.h"
23#if SDL_VIDEO_DRIVER_WINDOWS
27#include "../../events/SDL_clipboardevents_c.h"
31#define TEXT_FORMAT CF_UNICODETEXT
33#define TEXT_FORMAT CF_TEXT
56 if (OpenClipboard(GetWindowHandle(
_this))) {
69 if (tstr[
i] ==
'\n' && (
i == 0 || tstr[
i-1] !=
'\r')) {
77 hMem = GlobalAlloc(GMEM_MOVEABLE,
size);
79 LPTSTR
dst = (LPTSTR)GlobalLock(hMem);
82 for (
i = 0; tstr[
i]; ++
i) {
83 if (tstr[
i] ==
'\n' && (
i == 0 || tstr[
i-1] !=
'\r')) {
93 if (!SetClipboardData(TEXT_FORMAT, hMem)) {
96 data->clipboard_count = GetClipboardSequenceNumber();
113 if (IsClipboardFormatAvailable(TEXT_FORMAT) &&
114 OpenClipboard(GetWindowHandle(
_this))) {
118 hMem = GetClipboardData(TEXT_FORMAT);
120 tstr = (LPTSTR)GlobalLock(hMem);
149 const DWORD
count = GetClipboardSequenceNumber();
151 if (
data->clipboard_count) {
int SDL_SendClipboardUpdate(void)
GLuint GLuint GLsizei count
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
static SDL_VideoDevice * _this
#define WIN_UTF8ToString(S)
#define WIN_StringToUTF8(S)
int WIN_SetError(const char *prefix)
int WIN_SetClipboardText(_THIS, const char *text)
char * WIN_GetClipboardText(_THIS)
SDL_bool WIN_HasClipboardText(_THIS)
void WIN_CheckClipboardUpdate(struct SDL_VideoData *data)
return Display return Display Bool Bool int int int return Display XEvent Bool(*) XPointer return Display return Display Drawable _Xconst char unsigned int unsigned int return Display Pixmap Pixmap XColor XColor unsigned int unsigned int return Display _Xconst char char int char return Display Visual unsigned int int int char unsigned int unsigned int in i)
EGLSurface EGLNativeWindowType * window
The type used to identify a window.
static char text[MAX_TEXT_LENGTH]