UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SlateTextBlockLayout.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreMinimal.h"
6#include "Misc/Attribute.h"
7#include "Layout/Margin.h"
11
13class FPaintArgs;
15class IBreakIterator;
17enum class ETextShapingMethod : uint8;
18
21{
22public:
24 {
49
73
77 const float WrapTextAt = 0.f;
83 const bool AutoWrapText = false;
84 };
85
123
128
133
138
143
148
153
158
163 UE_DEPRECATED(5.0, "FWidgetArgs is deprecated. Upgrade to FWidgetDesiredSizeArgs instead.")
165
167
172
173
177 SLATE_API float GetLayoutScale() const;
178
179
183 SLATE_API int32 OnPaint(const FPaintArgs& InPaintArgs, const FGeometry& InAllottedGeometry, const FSlateRect& InClippingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled);
184
188 SLATE_API void DirtyLayout();
189
194 SLATE_API void DirtyContent();
195
202
207
212
217
222
227
231 SLATE_API void ArrangeChildren(const FGeometry& AllottedGeometry, FArrangedChildren& ArrangedChildren) const;
232
233private:
235 void UpdateTextLayout(const FText& InText);
236
238 void UpdateTextLayout(const FString& InText);
239
241 void UpdateTextHighlights(const FText& InHighlightText);
242
244 bool IsStyleUpToDate(const FTextBlockStyle& NewStyle) const;
245
247 bool IsStyleUpToDate(const FTextBlockStyle::CompareParams& InNewStyleParams) const;
248
250 float CalculateWrappingWidth() const;
251
253 TSharedPtr<FSlateTextLayout> TextLayout;
254
257
259 TSharedPtr<ISlateRunRenderer> TextHighlighter;
260
262 FVector2f CachedSize;
263
265 float CachedWrapTextAt;
266
268 bool bCachedAutoWrapText;
269
271 FTextSnapshot TextLastUpdate;
272
274 FTextSnapshot HighlightTextLastUpdate;
275};
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
return true
Definition ExternalRpcRegistry.cpp:601
ETextShapingMethod
Definition FontCache.h:52
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
ETextTransformPolicy
Definition SlateTypes.h:310
ETextOverflowPolicy
Definition SlateTypes.h:79
ETextFlowDirection
Definition TextLayout.h:81
ETextWrappingPolicy
Definition TextLayout.h:67
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition ArrangedChildren.h:15
Definition ChildrenBase.h:27
Definition PaintArgs.h:23
Definition SlateRect.h:26
Definition SlateTextBlockLayout.h:21
SLATE_API void SetDebugSourceInfo(const TAttribute< FString > &InDebugSourceInfo)
Definition SlateTextBlockLayout.cpp:311
SLATE_API int32 OnPaint(const FPaintArgs &InPaintArgs, const FGeometry &InAllottedGeometry, const FSlateRect &InClippingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled)
Definition SlateTextBlockLayout.cpp:232
SLATE_API FVector2D ComputeDesiredSize(const FWidgetDesiredSizeArgs &InWidgetArgs, const float InScale)
Definition SlateTextBlockLayout.cpp:73
PRAGMA_ENABLE_DEPRECATION_WARNINGS SLATE_API FVector2D GetDesiredSize() const
Definition SlateTextBlockLayout.cpp:222
SLATE_API void SetTextOverflowPolicy(const TOptional< ETextOverflowPolicy > InTextOverflowPolicy)
Definition SlateTextBlockLayout.cpp:306
SLATE_API void SetTextShapingMethod(const TOptional< ETextShapingMethod > &InTextShapingMethod)
Definition SlateTextBlockLayout.cpp:296
SLATE_API void OverrideTextStyle(const FTextBlockStyle &InTextStyle)
Definition SlateTextBlockLayout.cpp:283
SLATE_API float GetLayoutScale() const
Definition SlateTextBlockLayout.cpp:227
SLATE_API void UpdateTextStyle(const FTextBlockStyle &InTextStyle)
Definition SlateTextBlockLayout.cpp:46
SLATE_API void ArrangeChildren(const FGeometry &AllottedGeometry, FArrangedChildren &ArrangedChildren) const
Definition SlateTextBlockLayout.cpp:321
SLATE_API void SetTextFlowDirection(const TOptional< ETextFlowDirection > &InTextFlowDirection)
Definition SlateTextBlockLayout.cpp:301
SLATE_API void DirtyContent()
Definition SlateTextBlockLayout.cpp:277
SLATE_API void DirtyLayout()
Definition SlateTextBlockLayout.cpp:272
SLATE_API FChildren * GetChildren()
Definition SlateTextBlockLayout.cpp:316
SLATE_API void ConditionallyUpdateTextStyle(const FTextBlockStyle &InTextStyle)
Definition SlateTextBlockLayout.cpp:28
Definition SlateTextLayout.h:17
Definition DrawElements.h:220
Definition Text.h:1202
Definition Text.h:385
static CORE_API const FText & GetEmpty()
Definition Text.cpp:252
Definition WidgetStyle.h:15
Definition IBreakIterator.h:9
Definition ISlateRunRenderer.h:15
Definition ITextLayoutMarshaller.h:12
Definition SWidget.h:165
Definition Attribute.h:17
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Type
Definition TextLayout.h:28
Definition Geometry.h:40
Definition Margin.h:17
Definition SlateTextBlockLayout.h:89
FWidgetArgs(const TAttribute< FText > &InText, const TAttribute< FText > &InHighlightText, const TAttribute< float > &InWrapTextAt, const TAttribute< bool > &InAutoWrapText, const TAttribute< ETextWrappingPolicy > &InWrappingPolicy, const TAttribute< ETextTransformPolicy > &InTransformPolicy, const TAttribute< FMargin > &InMargin, const TAttribute< float > &InLineHeightPercentage, const TAttribute< ETextJustify::Type > &InJustification)
Definition SlateTextBlockLayout.h:90
const TAttribute< ETextTransformPolicy > TransformPolicy
Definition SlateTextBlockLayout.h:118
const TAttribute< ETextWrappingPolicy > WrappingPolicy
Definition SlateTextBlockLayout.h:117
const TAttribute< float > & LineHeightPercentage
Definition SlateTextBlockLayout.h:120
const TAttribute< FMargin > & Margin
Definition SlateTextBlockLayout.h:119
const TAttribute< FText > & Text
Definition SlateTextBlockLayout.h:113
const TAttribute< FText > & HighlightText
Definition SlateTextBlockLayout.h:114
const TAttribute< bool > & AutoWrapText
Definition SlateTextBlockLayout.h:116
const TAttribute< float > & WrapTextAt
Definition SlateTextBlockLayout.h:115
const TAttribute< ETextJustify::Type > & Justification
Definition SlateTextBlockLayout.h:121
Definition SlateTextBlockLayout.h:24
FWidgetDesiredSizeArgs(const FText &InText, const FText &InHighlightText, const float InWrapTextAt, const bool InAutoWrapText, const ETextWrappingPolicy InWrappingPolicy, const ETextTransformPolicy InTransformPolicy, const FMargin &InMargin, const float InLineHeightPercentage, const bool InApplyLineHeightToBottomLine, const ETextJustify::Type InJustification)
Definition SlateTextBlockLayout.h:25
const float LineHeightPercentage
Definition SlateTextBlockLayout.h:78
const ETextTransformPolicy TransformPolicy
Definition SlateTextBlockLayout.h:81
const bool AutoWrapText
Definition SlateTextBlockLayout.h:83
const float WrapTextAt
Definition SlateTextBlockLayout.h:77
const ETextJustify::Type Justification
Definition SlateTextBlockLayout.h:82
const FMargin Margin
Definition SlateTextBlockLayout.h:76
const bool ApplyLineHeightToBottomLine
Definition SlateTextBlockLayout.h:79
FWidgetDesiredSizeArgs(const FText &InText, const FText &InHighlightText, const float InWrapTextAt, const bool InAutoWrapText, const ETextWrappingPolicy InWrappingPolicy, const ETextTransformPolicy InTransformPolicy, const FMargin &InMargin, const float InLineHeightPercentage, const ETextJustify::Type InJustification)
Definition SlateTextBlockLayout.h:50
const FText Text
Definition SlateTextBlockLayout.h:74
const ETextWrappingPolicy WrappingPolicy
Definition SlateTextBlockLayout.h:80
const FText HighlightText
Definition SlateTextBlockLayout.h:75
Definition SlateTypes.h:440
Definition SlateTypes.h:326
Definition Optional.h:131