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

summaryrefslogtreecommitdiff
path: root/source/frontend/StarClipboardLuaBindings.cpp
diff options
context:
space:
mode:
authorErodeesFleurs <3353309908@qq.com>2024-03-16 20:00:53 +0800
committerErodeesFleurs <3353309908@qq.com>2024-03-16 20:00:53 +0800
commitc6a2f4fa7d5930fe54d99a688b428f469dbe0e4c (patch)
tree46ea465f2e0d903f6bb680c94f1162b66a96e96b /source/frontend/StarClipboardLuaBindings.cpp
parent5499b04e9fd012402e966c5913274e8da8d5915e (diff)
add clipboard lua binds
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