SDL  2.0
SDL_clipboard.h File Reference
#include "SDL_stdinc.h"
#include "begin_code.h"
#include "close_code.h"
+ 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.

Functions

int SDL_SetClipboardText (const char *text)
 Put UTF-8 text into the clipboard. More...
 
char * SDL_GetClipboardText (void)
 Get UTF-8 text from the clipboard, which must be freed with SDL_free() More...
 
SDL_bool SDL_HasClipboardText (void)
 Returns a flag indicating whether the clipboard exists and contains a text string that is non-empty. More...
 

Detailed Description

Include file for SDL clipboard handling

Definition in file SDL_clipboard.h.

Function Documentation

◆ SDL_GetClipboardText()

char* SDL_GetClipboardText ( void  )

Get UTF-8 text from the clipboard, which must be freed with SDL_free()

See also
SDL_SetClipboardText()

Definition at line 49 of file SDL_clipboard.c.

References _this, SDL_VideoDevice::clipboard_text, SDL_VideoDevice::GetClipboardText, SDL_GetVideoDevice(), SDL_SetError, SDL_strdup, and text.

50 {
52 
53  if (!_this) {
54  SDL_SetError("Video subsystem must be initialized to get clipboard text");
55  return SDL_strdup("");
56  }
57 
58  if (_this->GetClipboardText) {
59  return _this->GetClipboardText(_this);
60  } else {
61  const char *text = _this->clipboard_text;
62  if (!text) {
63  text = "";
64  }
65  return SDL_strdup(text);
66  }
67 }
static SDL_VideoDevice * _this
Definition: SDL_video.c:121
#define SDL_SetError
static char text[MAX_TEXT_LENGTH]
Definition: testime.c:47
#define SDL_strdup
SDL_VideoDevice * SDL_GetVideoDevice(void)
Definition: SDL_video.c:586
char *(* GetClipboardText)(_THIS)
Definition: SDL_sysvideo.h:298
char * clipboard_text
Definition: SDL_sysvideo.h:317

◆ SDL_HasClipboardText()

SDL_bool SDL_HasClipboardText ( void  )

Returns a flag indicating whether the clipboard exists and contains a text string that is non-empty.

See also
SDL_GetClipboardText()

Definition at line 70 of file SDL_clipboard.c.

References _this, SDL_VideoDevice::clipboard_text, SDL_VideoDevice::HasClipboardText, SDL_FALSE, SDL_GetVideoDevice(), SDL_SetError, and SDL_TRUE.

71 {
73 
74  if (!_this) {
75  SDL_SetError("Video subsystem must be initialized to check clipboard text");
76  return SDL_FALSE;
77  }
78 
79  if (_this->HasClipboardText) {
80  return _this->HasClipboardText(_this);
81  } else {
82  if (_this->clipboard_text && _this->clipboard_text[0] != '\0') {
83  return SDL_TRUE;
84  } else {
85  return SDL_FALSE;
86  }
87  }
88 }
static SDL_VideoDevice * _this
Definition: SDL_video.c:121
#define SDL_SetError
SDL_bool(* HasClipboardText)(_THIS)
Definition: SDL_sysvideo.h:299
SDL_VideoDevice * SDL_GetVideoDevice(void)
Definition: SDL_video.c:586
char * clipboard_text
Definition: SDL_sysvideo.h:317

◆ SDL_SetClipboardText()

int SDL_SetClipboardText ( const char *  text)

Put UTF-8 text into the clipboard.

See also
SDL_GetClipboardText()

Definition at line 28 of file SDL_clipboard.c.

References _this, SDL_VideoDevice::clipboard_text, SDL_free, SDL_GetVideoDevice(), SDL_SetError, SDL_strdup, and SDL_VideoDevice::SetClipboardText.

29 {
31 
32  if (!_this) {
33  return SDL_SetError("Video subsystem must be initialized to set clipboard text");
34  }
35 
36  if (!text) {
37  text = "";
38  }
39  if (_this->SetClipboardText) {
40  return _this->SetClipboardText(_this, text);
41  } else {
42  SDL_free(_this->clipboard_text);
43  _this->clipboard_text = SDL_strdup(text);
44  return 0;
45  }
46 }
static SDL_VideoDevice * _this
Definition: SDL_video.c:121
#define SDL_free
#define SDL_SetError
static char text[MAX_TEXT_LENGTH]
Definition: testime.c:47
#define SDL_strdup
SDL_VideoDevice * SDL_GetVideoDevice(void)
Definition: SDL_video.c:586
int(* SetClipboardText)(_THIS, const char *text)
Definition: SDL_sysvideo.h:297
char * clipboard_text
Definition: SDL_sysvideo.h:317