aboutsummaryrefslogtreecommitdiff
path: root/src/platform/gui/win/Clipboard.cpp
diff options
context:
space:
mode:
authorYuqian Yang <crupest@crupest.life>2025-10-17 22:57:30 +0800
committerYuqian Yang <crupest@crupest.life>2025-10-17 22:57:30 +0800
commitca9334f53b9456a517f8fa4a687e2d2a6cc1ca86 (patch)
treea49651d6af538f90f4033e1ff6361d309ed3fed9 /src/platform/gui/win/Clipboard.cpp
parent728d592f4075ae78b67dab6911ada05875a470a3 (diff)
downloadcru-ca9334f53b9456a517f8fa4a687e2d2a6cc1ca86.tar.gz
cru-ca9334f53b9456a517f8fa4a687e2d2a6cc1ca86.tar.bz2
cru-ca9334f53b9456a517f8fa4a687e2d2a6cc1ca86.zip
Fix windows build.
Diffstat (limited to 'src/platform/gui/win/Clipboard.cpp')
-rw-r--r--src/platform/gui/win/Clipboard.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/platform/gui/win/Clipboard.cpp b/src/platform/gui/win/Clipboard.cpp
index 5525cb40..1ffb0254 100644
--- a/src/platform/gui/win/Clipboard.cpp
+++ b/src/platform/gui/win/Clipboard.cpp
@@ -1,4 +1,6 @@
#include "cru/platform/gui/win/Clipboard.h"
+#include <string>
+#include "cru/base/StringUtil.h"
#include "cru/base/log/Logger.h"
#include "cru/platform/gui/win/GodWindow.h"
#include "cru/platform/gui/win/UiApplication.h"
@@ -9,7 +11,7 @@ WinClipboard::WinClipboard(WinUiApplication* application)
WinClipboard::~WinClipboard() {}
-String WinClipboard::GetText() {
+std::string WinClipboard::GetText() {
auto god_window = application_->GetGodWindow();
if (!::OpenClipboard(god_window->GetHandle())) {
@@ -36,15 +38,16 @@ String WinClipboard::GetText() {
return {};
}
- String result(static_cast<wchar_t*>(ptr));
+ std::wstring result(static_cast<wchar_t*>(ptr));
::GlobalUnlock(handle);
::CloseClipboard();
- return result;
+ return string::ToUtf8(result);
}
-void WinClipboard::SetText(String text) {
+void WinClipboard::SetText(std::string utf8_text) {
+ auto text = string::ToUtf16(utf8_text);
auto god_window = application_->GetGodWindow();
if (!::OpenClipboard(god_window->GetHandle())) {