diff options
Diffstat (limited to 'include/cru/win/graph')
-rw-r--r-- | include/cru/win/graph/direct/Factory.hpp | 4 | ||||
-rw-r--r-- | include/cru/win/graph/direct/Font.hpp | 3 | ||||
-rw-r--r-- | include/cru/win/graph/direct/Resource.hpp | 4 | ||||
-rw-r--r-- | include/cru/win/graph/direct/TextLayout.hpp | 11 |
4 files changed, 11 insertions, 11 deletions
diff --git a/include/cru/win/graph/direct/Factory.hpp b/include/cru/win/graph/direct/Factory.hpp index 763d4b2b..e70454f5 100644 --- a/include/cru/win/graph/direct/Factory.hpp +++ b/include/cru/win/graph/direct/Factory.hpp @@ -38,11 +38,11 @@ class DirectGraphFactory : public DirectResource, public virtual IGraphFactory { std::unique_ptr<IGeometryBuilder> CreateGeometryBuilder() override; - std::unique_ptr<IFont> CreateFont(const std::string_view& font_family, + std::unique_ptr<IFont> CreateFont(std::u16string font_family, float font_size) override; std::unique_ptr<ITextLayout> CreateTextLayout(std::shared_ptr<IFont> font, - std::string text) override; + std::u16string text) override; private: Microsoft::WRL::ComPtr<ID3D11Device> d3d11_device_; diff --git a/include/cru/win/graph/direct/Font.hpp b/include/cru/win/graph/direct/Font.hpp index ecf9fd81..2195f3e4 100644 --- a/include/cru/win/graph/direct/Font.hpp +++ b/include/cru/win/graph/direct/Font.hpp @@ -11,7 +11,7 @@ class DWriteFont : public DirectGraphResource, public virtual IFont, public virtual IComResource<IDWriteTextFormat> { public: - DWriteFont(DirectGraphFactory* factory, const std::string_view& font_family, + DWriteFont(DirectGraphFactory* factory, std::u16string font_family, float font_size); CRU_DELETE_COPY(DWriteFont) @@ -27,6 +27,7 @@ class DWriteFont : public DirectGraphResource, float GetFontSize() override; private: + std::u16string font_family_; Microsoft::WRL::ComPtr<IDWriteTextFormat> text_format_; }; } // namespace cru::platform::graph::win::direct diff --git a/include/cru/win/graph/direct/Resource.hpp b/include/cru/win/graph/direct/Resource.hpp index d0a30dbd..6162ebd8 100644 --- a/include/cru/win/graph/direct/Resource.hpp +++ b/include/cru/win/graph/direct/Resource.hpp @@ -10,7 +10,7 @@ class DirectGraphFactory; class DirectResource : public Object, public virtual INativeResource { public: - static constexpr std::string_view k_platform_id = "Windows Direct"; + static constexpr std::u16string_view k_platform_id = u"Windows Direct"; protected: DirectResource() = default; @@ -22,7 +22,7 @@ class DirectResource : public Object, public virtual INativeResource { ~DirectResource() override = default; public: - std::string_view GetPlatformId() const final { return k_platform_id; } + std::u16string_view GetPlatformId() const final { return k_platform_id; } }; class DirectGraphResource : public DirectResource, diff --git a/include/cru/win/graph/direct/TextLayout.hpp b/include/cru/win/graph/direct/TextLayout.hpp index 40c63dbe..c53cf655 100644 --- a/include/cru/win/graph/direct/TextLayout.hpp +++ b/include/cru/win/graph/direct/TextLayout.hpp @@ -15,7 +15,7 @@ class DWriteTextLayout : public DirectGraphResource, public virtual IComResource<IDWriteTextLayout> { public: DWriteTextLayout(DirectGraphFactory* factory, std::shared_ptr<IFont> font, - std::string text); + std::u16string text); CRU_DELETE_COPY(DWriteTextLayout) CRU_DELETE_MOVE(DWriteTextLayout) @@ -28,8 +28,8 @@ class DWriteTextLayout : public DirectGraphResource, } public: - std::string GetText() override; - void SetText(std::string new_text) override; + std::u16string GetText() override; + void SetText(std::u16string new_text) override; std::shared_ptr<IFont> GetFont() override; void SetFont(std::shared_ptr<IFont> font) override; @@ -41,12 +41,11 @@ class DWriteTextLayout : public DirectGraphResource, // Return empty vector if text_range.count is 0. Text range could be in // reverse direction, it should be normalized first in implementation. std::vector<Rect> TextRangeRect(const TextRange& text_range) override; - Point TextSinglePoint(gsl::index position, bool trailing) override; + Point TextSinglePoint(Index position, bool trailing) override; TextHitTestResult HitTest(const Point& point) override; private: - std::string text_; - std::wstring w_text_; + std::u16string text_; std::shared_ptr<DWriteFont> font_; float max_width_ = std::numeric_limits<float>::max(); float max_height_ = std::numeric_limits<float>::max(); |