diff --git a/Source/Engine/Render2D/Font.cpp b/Source/Engine/Render2D/Font.cpp index 737cf7106..cf478abda 100644 --- a/Source/Engine/Render2D/Font.cpp +++ b/Source/Engine/Render2D/Font.cpp @@ -119,7 +119,7 @@ void Font::Invalidate() _characters.Clear(); } -void Font::ProcessText(const StringView& text, Array& outputLines, const TextLayoutOptions& layout) +void Font::ProcessText(const StringView& text, Array>& outputLines, const TextLayoutOptions& layout) { int32 textLength = text.Length(); if (textLength == 0) @@ -311,7 +311,7 @@ Float2 Font::MeasureText(const StringView& text, const TextLayoutOptions& layout return Float2::Zero; // Process text - Array lines; + Array> lines; ProcessText(text, lines, layout); // Calculate bounds @@ -332,7 +332,7 @@ int32 Font::HitTestText(const StringView& text, const Float2& location, const Te return 0; // Process text - Array lines; + Array> lines; ProcessText(text, lines, layout); ASSERT(lines.HasItems()); float scale = layout.Scale / FontManager::FontScale; @@ -417,7 +417,7 @@ Float2 Font::GetCharPosition(const StringView& text, int32 index, const TextLayo } // Process text - Array lines; + Array> lines; ProcessText(text, lines, layout); ASSERT(lines.HasItems()); float scale = layout.Scale / FontManager::FontScale; diff --git a/Source/Engine/Render2D/Font.h b/Source/Engine/Render2D/Font.h index 4f8e3a347..fc40cc16c 100644 --- a/Source/Engine/Render2D/Font.h +++ b/Source/Engine/Render2D/Font.h @@ -344,7 +344,7 @@ public: /// The input text. /// The layout properties. /// The output lines list. - void ProcessText(const StringView& text, Array& outputLines, API_PARAM(Ref) const TextLayoutOptions& layout); + void ProcessText(const StringView& text, Array>& outputLines, API_PARAM(Ref) const TextLayoutOptions& layout); /// /// Processes text to get cached lines for rendering. @@ -352,9 +352,9 @@ public: /// The input text. /// The layout properties. /// The output lines list. - API_FUNCTION() Array ProcessText(const StringView& text, API_PARAM(Ref) const TextLayoutOptions& layout) + API_FUNCTION() Array> ProcessText(const StringView& text, API_PARAM(Ref) const TextLayoutOptions& layout) { - Array lines; + Array> lines; ProcessText(text, lines, layout); return lines; } @@ -366,9 +366,9 @@ public: /// The input text range (substring range of the input text parameter). /// The layout properties. /// The output lines list. - API_FUNCTION() Array ProcessText(const StringView& text, API_PARAM(Ref) const TextRange& textRange, API_PARAM(Ref) const TextLayoutOptions& layout) + API_FUNCTION() Array> ProcessText(const StringView& text, API_PARAM(Ref) const TextRange& textRange, API_PARAM(Ref) const TextLayoutOptions& layout) { - Array lines; + Array> lines; ProcessText(textRange.Substring(text), lines, layout); return lines; } @@ -378,7 +378,7 @@ public: /// /// The input text. /// The output lines list. - API_FUNCTION() FORCE_INLINE Array ProcessText(const StringView& text) + API_FUNCTION() FORCE_INLINE Array> ProcessText(const StringView& text) { return ProcessText(text, TextLayoutOptions()); } @@ -389,7 +389,7 @@ public: /// The input text. /// The input text range (substring range of the input text parameter). /// The output lines list. - API_FUNCTION() FORCE_INLINE Array ProcessText(const StringView& text, API_PARAM(Ref) const TextRange& textRange) + API_FUNCTION() FORCE_INLINE Array> ProcessText(const StringView& text, API_PARAM(Ref) const TextRange& textRange) { return ProcessText(textRange.Substring(text), TextLayoutOptions()); } diff --git a/Source/Engine/Render2D/Render2D.cpp b/Source/Engine/Render2D/Render2D.cpp index 285428f7a..057265aae 100644 --- a/Source/Engine/Render2D/Render2D.cpp +++ b/Source/Engine/Render2D/Render2D.cpp @@ -194,7 +194,7 @@ namespace // Drawing Array DrawCalls; - Array Lines; + Array> Lines; Array Lines2; bool IsScissorsRectEmpty; bool IsScissorsRectEnabled; diff --git a/Source/Engine/UI/TextRender.cpp b/Source/Engine/UI/TextRender.cpp index 232354155..bc7b88647 100644 --- a/Source/Engine/UI/TextRender.cpp +++ b/Source/Engine/UI/TextRender.cpp @@ -176,7 +176,7 @@ void TextRender::UpdateLayout() int32 kerning; // Perform layout - Array lines; + Array> lines; font->ProcessText(text, lines, _layoutOptions); // Prepare buffers capacity