diff options
author | Yuqian Yang <crupest@crupest.life> | 2025-10-17 22:57:30 +0800 |
---|---|---|
committer | Yuqian Yang <crupest@crupest.life> | 2025-10-17 22:57:30 +0800 |
commit | ca9334f53b9456a517f8fa4a687e2d2a6cc1ca86 (patch) | |
tree | a49651d6af538f90f4033e1ff6361d309ed3fed9 /src/platform/gui/win/Clipboard.cpp | |
parent | 728d592f4075ae78b67dab6911ada05875a470a3 (diff) | |
download | cru-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.cpp | 11 |
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())) { |