From 93b8a62d28f9427f0979d62b71f12fb2858064ee Mon Sep 17 00:00:00 2001 From: crupest Date: Fri, 11 Sep 2020 11:17:56 +0800 Subject: ... --- include/cru/platform/GraphBase.hpp | 2 ++ include/cru/platform/graph/TextLayout.hpp | 1 + include/cru/platform/native/Keyboard.hpp | 10 +++++----- 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'include/cru/platform') diff --git a/include/cru/platform/GraphBase.hpp b/include/cru/platform/GraphBase.hpp index e476e3cd..9f3f8393 100644 --- a/include/cru/platform/GraphBase.hpp +++ b/include/cru/platform/GraphBase.hpp @@ -258,6 +258,8 @@ struct TextRange final { gsl::index GetStart() const { return position; } gsl::index GetEnd() const { return position + count; } + void SetEnd(gsl::index new_end) { count = new_end - position; } + TextRange Normalize() const { auto result = *this; if (result.count < 0) { diff --git a/include/cru/platform/graph/TextLayout.hpp b/include/cru/platform/graph/TextLayout.hpp index 7dd20987..a101983f 100644 --- a/include/cru/platform/graph/TextLayout.hpp +++ b/include/cru/platform/graph/TextLayout.hpp @@ -7,6 +7,7 @@ namespace cru::platform::graph { struct ITextLayout : virtual IGraphResource { virtual std::u16string GetText() = 0; + virtual std::u16string_view GetTextView() = 0; virtual void SetText(std::u16string new_text) = 0; virtual std::shared_ptr GetFont() = 0; diff --git a/include/cru/platform/native/Keyboard.hpp b/include/cru/platform/native/Keyboard.hpp index 26a1409d..83c61bcc 100644 --- a/include/cru/platform/native/Keyboard.hpp +++ b/include/cru/platform/native/Keyboard.hpp @@ -112,9 +112,9 @@ struct TagKeyModifier {}; using KeyModifier = Bitmask; -namespace key_modifiers { -constexpr KeyModifier shift{0b1}; -constexpr KeyModifier ctrl{0b10}; -constexpr KeyModifier alt{0b100}; -} // namespace key_modifiers +struct KeyModifiers { + static constexpr KeyModifier shift{0b1}; + static constexpr KeyModifier ctrl{0b10}; + static constexpr KeyModifier alt{0b100}; +}; } // namespace cru::platform::native -- cgit v1.2.3