The Battle for Wesnoth  1.19.5+dev
clipboard.cpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2003 - 2024
3  by David White <dave@whitevine.net>
4  Part of the Battle for Wesnoth Project https://www.wesnoth.org/
5 
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2 of the License, or
9  (at your option) any later version.
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY.
12 
13  See the COPYING file for more details.
14 */
15 
16 #include "desktop/clipboard.hpp"
17 
18 #include <SDL2/SDL_events.h>
19 #include <SDL2/SDL_clipboard.h>
20 
21 #define CLIPBOARD_FUNCS_DEFINED
22 
23 namespace desktop {
24 
25 namespace clipboard {
26 
27 void copy_to_clipboard(const std::string& text)
28 {
29  SDL_SetClipboardText(text.c_str());
30 }
31 
32 std::string copy_from_clipboard()
33 {
34  char* clipboard = SDL_GetClipboardText();
35  if(!clipboard) {
36  return std::string();
37  }
38 
39  const std::string result(clipboard);
40  SDL_free(clipboard);
41  return result;
42 }
43 
44 } // end namespace clipboard
45 
46 } // end namespace desktop
void copy_to_clipboard(const std::string &text)
Copies text to the clipboard.
Definition: clipboard.cpp:27
std::string copy_from_clipboard()
Copies text from the clipboard.
Definition: clipboard.cpp:32