UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SlateTextRun.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2#pragma once
3
4#include "CoreMinimal.h"
5#include "Widgets/SWidget.h"
11
13class FPaintArgs;
15enum class ETextHitPoint : uint8;
16
17class FSlateTextRun : public ISlateRun, public TSharedFromThis< FSlateTextRun >
18{
19public:
20
22
24
25public:
26
27 virtual ~FSlateTextRun() {}
28
29 SLATE_API virtual FTextRange GetTextRange() const override;
30 SLATE_API virtual void SetTextRange( const FTextRange& Value ) override;
31
32 SLATE_API virtual int16 GetBaseLine( float Scale ) const override;
33 SLATE_API virtual int16 GetMaxHeight( float Scale ) const override;
34 SLATE_API virtual FVector2D Measure( int32 StartIndex, int32 EndIndex, float Scale, const FRunTextContext& TextContext ) const override;
35 SLATE_API virtual int8 GetKerning(int32 CurrentIndex, float Scale, const FRunTextContext& TextContext) const override;
36 SLATE_API virtual FVector2d GetOutlineSize(int32 StartIndex, int32 EndIndex, float Scale) const override;
37 SLATE_API virtual FVector2d GetShadowSize(int32 StartIndex, int32 EndIndex, float Scale) const override;
38
39 SLATE_API virtual TSharedRef< ILayoutBlock > CreateBlock( int32 StartIndex, int32 EndIndex, FVector2D Size, const FLayoutBlockTextContext& TextContext, const TSharedPtr< IRunRenderer >& Renderer ) override;
40
41 SLATE_API virtual int32 OnPaint(const FPaintArgs& PaintArgs, const FTextArgs& TextArgs, const FGeometry& AllottedGeometry, const FSlateRect& MyCullingRect, FSlateWindowElementList& OutDrawElements, int32 LayerId, const FWidgetStyle& InWidgetStyle, bool bParentEnabled) const override;
42
43 SLATE_API virtual const TArray< TSharedRef<SWidget> >& GetChildren() override;
44
45 SLATE_API virtual void ArrangeChildren( const TSharedRef< ILayoutBlock >& Block, const FGeometry& AllottedGeometry, FArrangedChildren& ArrangedChildren ) const override;
46
47 virtual void BeginLayout() override {}
48 virtual void EndLayout() override {}
49
50 SLATE_API virtual int32 GetTextIndexAt( const TSharedRef< ILayoutBlock >& Block, const FVector2D& Location, float Scale, ETextHitPoint* const OutHitPoint = nullptr ) const override;
51
53
54 SLATE_API virtual void Move(const TSharedRef<FString>& NewText, const FTextRange& NewRange) override;
55 SLATE_API virtual TSharedRef<IRun> Clone() const override;
56
57 SLATE_API virtual void AppendTextTo(FString& Text) const override;
58 SLATE_API virtual void AppendTextTo(FString& AppendToText, const FTextRange& PartialRange) const override;
59
60 SLATE_API virtual const FRunInfo& GetRunInfo() const override;
61
62 SLATE_API virtual ERunAttributes GetRunAttributes() const override;
63
65
66protected:
67
69
71
73
74protected:
75
80
81#if TEXT_LAYOUT_DEBUG
82 FString DebugSlice;
83#endif
84};
FPlatformTypes::int16 int16
A 16-bit signed integer.
Definition Platform.h:1123
FPlatformTypes::int8 int8
An 8-bit signed integer.
Definition Platform.h:1121
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
ERunAttributes
Definition IRun.h:34
ETextHitPoint
Definition TextHitPoint.h:8
uint32 Offset
Definition VulkanMemory.cpp:4033
uint32 Size
Definition VulkanMemory.cpp:4034
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition ArrangedChildren.h:15
Definition PaintArgs.h:23
Definition SlateRect.h:26
Definition SlateTextRun.h:18
virtual SLATE_API int32 OnPaint(const FPaintArgs &PaintArgs, const FTextArgs &TextArgs, const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled) const override
Definition SlateTextRun.cpp:96
virtual SLATE_API int32 GetTextIndexAt(const TSharedRef< ILayoutBlock > &Block, const FVector2D &Location, float Scale, ETextHitPoint *const OutHitPoint=nullptr) const override
Definition SlateTextRun.cpp:212
virtual SLATE_API ERunAttributes GetRunAttributes() const override
Definition SlateTextRun.cpp:288
virtual SLATE_API const FRunInfo & GetRunInfo() const override
Definition SlateTextRun.cpp:283
virtual SLATE_API FVector2D GetLocationAt(const TSharedRef< ILayoutBlock > &Block, int32 Offset, float Scale) const override
Definition SlateTextRun.cpp:242
FTextRange Range
Definition SlateTextRun.h:79
virtual SLATE_API const TArray< TSharedRef< SWidget > > & GetChildren() override
Definition SlateTextRun.cpp:201
virtual void EndLayout() override
Definition SlateTextRun.h:48
virtual SLATE_API TSharedRef< IRun > Clone() const override
Definition SlateTextRun.cpp:265
virtual SLATE_API int16 GetBaseLine(float Scale) const override
Definition SlateTextRun.cpp:33
virtual SLATE_API FVector2d GetShadowSize(int32 StartIndex, int32 EndIndex, float Scale) const override
Definition SlateTextRun.cpp:80
FRunInfo RunInfo
Definition SlateTextRun.h:76
virtual SLATE_API void SetTextRange(const FTextRange &Value) override
Definition SlateTextRun.cpp:28
virtual SLATE_API TSharedRef< ILayoutBlock > CreateBlock(int32 StartIndex, int32 EndIndex, FVector2D Size, const FLayoutBlockTextContext &TextContext, const TSharedPtr< IRunRenderer > &Renderer) override
Definition SlateTextRun.cpp:92
virtual SLATE_API FTextRange GetTextRange() const override
Definition SlateTextRun.cpp:23
virtual SLATE_API void ArrangeChildren(const TSharedRef< ILayoutBlock > &Block, const FGeometry &AllottedGeometry, FArrangedChildren &ArrangedChildren) const override
Definition SlateTextRun.cpp:207
virtual SLATE_API FVector2d GetOutlineSize(int32 StartIndex, int32 EndIndex, float Scale) const override
Definition SlateTextRun.cpp:71
virtual void BeginLayout() override
Definition SlateTextRun.h:47
virtual SLATE_API int16 GetMaxHeight(float Scale) const override
Definition SlateTextRun.cpp:39
virtual SLATE_API int8 GetKerning(int32 CurrentIndex, float Scale, const FRunTextContext &TextContext) const override
Definition SlateTextRun.cpp:59
virtual SLATE_API void Move(const TSharedRef< FString > &NewText, const FTextRange &NewRange) override
Definition SlateTextRun.cpp:255
virtual SLATE_API FVector2D Measure(int32 StartIndex, int32 EndIndex, float Scale, const FRunTextContext &TextContext) const override
Definition SlateTextRun.cpp:45
TSharedRef< const FString > Text
Definition SlateTextRun.h:77
FTextBlockStyle Style
Definition SlateTextRun.h:78
virtual SLATE_API void AppendTextTo(FString &Text) const override
Definition SlateTextRun.cpp:270
SLATE_API void ApplyFontSizeMultiplierOnTextStyle(float FontSizeMultiplier)
Definition SlateTextRun.cpp:329
virtual ~FSlateTextRun()
Definition SlateTextRun.h:27
Definition DrawElements.h:220
Definition WidgetStyle.h:15
Definition ISlateRun.h:38
Definition Renderer.Build.cs:6
Definition Array.h:670
Definition SharedPointer.h:1640
Definition SharedPointer.h:153
Definition Geometry.h:40
Definition IRun.h:98
Definition IRun.h:14
Definition IRun.h:85
Definition ISlateRun.h:16
Definition SlateTypes.h:326
Definition UnrealString.h:234