Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/frontend/StarClipboardLuaBindings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/frontend/StarClipboardLuaBindings.cpp')
-rw-r--r--source/frontend/StarClipboardLuaBindings.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/source/frontend/StarClipboardLuaBindings.cpp b/source/frontend/StarClipboardLuaBindings.cpp
new file mode 100644
index 0000000..c4fbc41
--- /dev/null
+++ b/source/frontend/StarClipboardLuaBindings.cpp
@@ -0,0 +1,24 @@
+#include "StarClipboardLuaBindings.hpp"
+#include "StarLuaConverters.hpp"
+
+#include "SDL2/SDL.h"
+
+namespace Star {
+
+LuaCallbacks LuaBindings::makeClipboardCallbacks(ApplicationControllerPtr appController) {
+ LuaCallbacks callbacks;
+
+ callbacks.registerCallback("hasText", []() -> bool { return SDL_HasClipboardText() == SDL_TRUE;});
+
+ callbacks.registerCallback("getText", [appController]() -> Maybe<String> {
+ return appController->getClipboard();
+ });
+
+ callbacks.registerCallback("setText", [appController](String const& text) {
+ appController->setClipboard(text);
+ });
+
+ return callbacks;
+};
+
+}// namespace Star