UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SlateWidgetRun.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 "SlateGlobals.h"
6#include "Widgets/SWidget.h"
11
13class FPaintArgs;
15struct FTextBlockStyle;
16enum class ETextHitPoint : uint8;
17
18#if WITH_FANCY_TEXT
19
20class FSlateWidgetRun : public ISlateRun, public TSharedFromThis< FSlateWidgetRun >
21{
22public:
23
24 struct FWidgetRunInfo
25 {
27 TAttribute< int16 > Baseline;
29
31 : Widget( InWidget )
32 , Baseline( InBaseline )
33 , Size( InSize )
34 {
35
36 }
37 };
38
40
42
43 virtual ~FSlateWidgetRun() {}
44
45 SLATE_API virtual FTextRange GetTextRange() const override;
46 SLATE_API virtual void SetTextRange( const FTextRange& Value ) override;
47 SLATE_API virtual int16 GetBaseLine( float Scale ) const override;
48 SLATE_API virtual int16 GetMaxHeight( float Scale ) const override;
49 SLATE_API virtual FVector2D Measure( int32 StartIndex, int32 EndIndex, float Scale, const FRunTextContext& TextContext ) const override;
50 SLATE_API virtual int8 GetKerning(int32 CurrentIndex, float Scale, const FRunTextContext& TextContext) const override;
51 SLATE_API virtual TSharedRef< ILayoutBlock > CreateBlock( int32 StartIndex, int32 EndIndex, FVector2D Size, const FLayoutBlockTextContext& TextContext, const TSharedPtr< IRunRenderer >& Renderer ) override;
52 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;
53 SLATE_API virtual const TArray< TSharedRef<SWidget> >& GetChildren() override;
54 SLATE_API virtual void ArrangeChildren( const TSharedRef< ILayoutBlock >& Block, const FGeometry& AllottedGeometry, FArrangedChildren& ArrangedChildren ) const override;
55 SLATE_API virtual int32 GetTextIndexAt( const TSharedRef< ILayoutBlock >& Block, const FVector2D& Location, float Scale, ETextHitPoint* const OutHitPoint = nullptr ) const override;
56 SLATE_API virtual FVector2D GetLocationAt( const TSharedRef< ILayoutBlock >& Block, int32 Offset, float Scale ) const override;
57 virtual void BeginLayout() override {}
58 virtual void EndLayout() override {}
59 SLATE_API virtual void Move(const TSharedRef<FString>& NewText, const FTextRange& NewRange) override;
60 SLATE_API virtual TSharedRef<IRun> Clone() const override;
61 SLATE_API virtual void AppendTextTo(FString& Text) const override;
62 SLATE_API virtual void AppendTextTo(FString& AppendToText, const FTextRange& PartialRange) const override;
63 SLATE_API virtual const FRunInfo& GetRunInfo() const override;
64 SLATE_API virtual ERunAttributes GetRunAttributes() const override;
65
66protected:
67
69
71
73
74private:
75
77 FRunInfo RunInfo;
82
83 mutable FVector2D WidgetSize;
84
85};
86#endif //WITH_FANCY_TEXT
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 DrawElements.h:220
Definition WidgetStyle.h:15
virtual FTextRange GetTextRange() const =0
virtual void BeginLayout()=0
virtual TSharedRef< IRun > Clone() const =0
virtual TSharedRef< class ILayoutBlock > CreateBlock(int32 StartIndex, int32 EndIndex, FVector2D Size, const FLayoutBlockTextContext &TextContext, const TSharedPtr< class IRunRenderer > &Renderer)=0
virtual void SetTextRange(const FTextRange &Value)=0
virtual const FRunInfo & GetRunInfo() const =0
virtual void EndLayout()=0
virtual FVector2D Measure(int32 StartIndex, int32 EndIndex, float Scale, const FRunTextContext &TextContext) const =0
virtual int16 GetBaseLine(float Scale) const =0
virtual void AppendTextTo(FString &Text) const =0
virtual ERunAttributes GetRunAttributes() const =0
virtual void Move(const TSharedRef< FString > &NewText, const FTextRange &NewRange)=0
virtual FVector2D GetLocationAt(const TSharedRef< ILayoutBlock > &Block, int32 Offset, float Scale) const =0
virtual int32 GetTextIndexAt(const TSharedRef< ILayoutBlock > &Block, const FVector2D &Location, float Scale, ETextHitPoint *const OutHitPoint=nullptr) const =0
virtual int8 GetKerning(int32 CurrentIndex, float Scale, const FRunTextContext &TextContext) const =0
virtual int16 GetMaxHeight(float Scale) const =0
Definition ISlateRun.h:38
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 =0
virtual void ArrangeChildren(const TSharedRef< ILayoutBlock > &Block, const FGeometry &AllottedGeometry, FArrangedChildren &ArrangedChildren) const =0
virtual const TArray< TSharedRef< SWidget > > & GetChildren()=0
Definition Renderer.Build.cs:6
Definition Array.h:670
Definition Attribute.h:17
Definition SharedPointer.h:1640
Definition SharedPointer.h:1295
@ Range
Definition EnvQueryTypes.h:81
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
Definition Optional.h:131