Gamedev Framework (gf)  0.6.0
A C++11 framework for 2D games
Clipboard.h
1 /*
2  * Gamedev Framework (gf)
3  * Copyright (C) 2016-2017 Julien Bernard
4  *
5  * This software is provided 'as-is', without any express or implied
6  * warranty. In no event will the authors be held liable for any damages
7  * arising from the use of this software.
8  *
9  * Permission is granted to anyone to use this software for any purpose,
10  * including commercial applications, and to alter it and redistribute it
11  * freely, subject to the following restrictions:
12  *
13  * 1. The origin of this software must not be misrepresented; you must not
14  * claim that you wrote the original software. If you use this software
15  * in a product, an acknowledgment in the product documentation would be
16  * appreciated but is not required.
17  * 2. Altered source versions must be plainly marked as such, and must not be
18  * misrepresented as being the original software.
19  * 3. This notice may not be removed or altered from any source distribution.
20  *
21  * Part of this file comes from SFML, with the same license:
22  * Copyright (C) 2007-2015 Laurent Gomila (laurent@sfml-dev.org)
23  */
24 #ifndef GF_CLIPBOARD_H
25 #define GF_CLIPBOARD_H
26 
27 #include <string>
28 
29 #include "Portability.h"
30 
31 namespace gf {
32 #ifndef DOXYGEN_SHOULD_SKIP_THIS
33 inline namespace v1 {
34 #endif
35 
36  /**
37  * @ingroup window
38  * @brief gf::Clipboard provides an interface for getting and setting the
39  * contents of the system clipboard.
40  *
41  * Usage example:
42  * @code
43  * // get the clipboard content as a string
44  * std::string string = gf::Clipboard::getString();
45  *
46  * // or use it in the event loop
47  * gf::Event event;
48  *
49  * while (window.pollEvent(event)) {
50  * if(event.type == gf::EventType::Closed) {
51  * window.close();
52  * }
53  *
54  * if (event.type == gf::EventType::KeyPressed) {
55  * // Using Ctrl + V to paste a string
56  * if (event.key.modifiers.test(gf::Mod::Control) && event.key.keycode == gf::Keycode::V) {
57  * string = gf::Clipboard::getString();
58  * }
59  * }
60  * }
61  *
62  * // set the clipboard to a string
63  * gf::Clipboard::setString("Hello World!");
64  * @endcode
65  *
66  */
67  class GF_API Clipboard {
68  public:
69 
70  /**
71  * @brief Get the content of the clipboard as string data
72  *
73  * This function returns the content of the clipboard
74  * as a string. If the clipboard does not contain string
75  * it returns an empty string.
76  *
77  * @returns The clipboard contents
78  */
79  static std::string getString();
80 
81  /**
82  * @brief Set the content of the clipboard as string data
83  *
84  * This function sets the content of the clipboard as a
85  * string.
86  *
87  * @param text A string containing the data to be sent to the clipboard
88  */
89  static void setString(const std::string& text);
90  };
91 
92 #ifndef DOXYGEN_SHOULD_SKIP_THIS
93 }
94 #endif
95 }
96 
97 #endif // GF_CLIPBOARD_H
static void setString(const std::string &text)
Set the content of the clipboard as string data.
gf::Clipboard provides an interface for getting and setting the contents of the system clipboard...
Definition: Clipboard.h:67
The namespace for gf classes.
Definition: Action.h:34
#define GF_API
Definition: Portability.h:35
static std::string getString()
Get the content of the clipboard as string data.