From 055a3cde0cd19c896f3e498b774078654555c065 Mon Sep 17 00:00:00 2001 From: crupest Date: Mon, 1 Apr 2019 16:08:12 +0800 Subject: ... --- src/CMakeLists.txt | 3 +-- src/platform_win/CMakeLists.txt | 1 + src/platform_win/string_util.cpp | 20 ++++++++++++++++++++ src/util/string_util.cpp | 22 ---------------------- src/util/string_util.hpp | 8 -------- 5 files changed, 22 insertions(+), 32 deletions(-) create mode 100644 src/platform_win/string_util.cpp delete mode 100644 src/util/string_util.cpp delete mode 100644 src/util/string_util.hpp (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 75e6a0c2..8041d8cc 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -13,8 +13,7 @@ add_library(cru_ui STATIC ui/render/flex_layout_render_object.cpp ui/render/render_object.cpp ui/render/text_render_object.cpp - ui/render/window_render_object.cpp - util/string_util.cpp) + ui/render/window_render_object.cpp) target_include_directories(cru_ui PUBLIC ${PROJECT_SOURCE_DIR}/include .) diff --git a/src/platform_win/CMakeLists.txt b/src/platform_win/CMakeLists.txt index c8a5840e..8edf646e 100644 --- a/src/platform_win/CMakeLists.txt +++ b/src/platform_win/CMakeLists.txt @@ -3,6 +3,7 @@ add_library(cru_platform_win STATIC exception.cpp god_window.cpp graph_manager.cpp + string_util.cpp timer.cpp win_application.cpp win_brush.cpp diff --git a/src/platform_win/string_util.cpp b/src/platform_win/string_util.cpp new file mode 100644 index 00000000..21d82c81 --- /dev/null +++ b/src/platform_win/string_util.cpp @@ -0,0 +1,20 @@ +#include "cru/platform/string_util.hpp" + +#include "cru/platform/win/exception.hpp" + +namespace cru::platform::util { +std::string ToUtf8String(const std::wstring_view& string) { + if (string.empty()) return std::string(); + + const auto length = ::WideCharToMultiByte(CP_UTF8, 0, string.data(), -1, + nullptr, 0, nullptr, nullptr); + std::string result; + result.resize(length); + if (::WideCharToMultiByte(CP_UTF8, 0, string.data(), -1, result.data(), + static_cast(result.size()), nullptr, + nullptr) == 0) + throw win::Win32Error(::GetLastError(), + "Failed to convert wide string to UTF-8."); + return result; +} +} // namespace cru::util diff --git a/src/util/string_util.cpp b/src/util/string_util.cpp deleted file mode 100644 index c9391fc6..00000000 --- a/src/util/string_util.cpp +++ /dev/null @@ -1,22 +0,0 @@ -#include "string_util.hpp" - -#include - -#include "exception.hpp" - -namespace cru::util { -MultiByteString ToUtf8String(const StringView& string) { - if (string.empty()) return MultiByteString(); - - const auto length = ::WideCharToMultiByte(CP_UTF8, 0, string.data(), -1, - nullptr, 0, nullptr, nullptr); - MultiByteString result; - result.reserve(length); - if (::WideCharToMultiByte(CP_UTF8, 0, string.data(), -1, result.data(), - static_cast(result.capacity()), nullptr, - nullptr) == 0) - throw Win32Error(::GetLastError(), - "Failed to convert wide string to UTF-8."); - return result; -} -} // namespace cru::util diff --git a/src/util/string_util.hpp b/src/util/string_util.hpp deleted file mode 100644 index 6d060089..00000000 --- a/src/util/string_util.hpp +++ /dev/null @@ -1,8 +0,0 @@ -#pragma once -#include "pre.hpp" - -#include "base.hpp" - -namespace cru::util { -MultiByteString ToUtf8String(const StringView& string); -} -- cgit v1.2.3