UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SlateImageRun.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"
12
14class FPaintArgs;
16struct FTextBlockStyle;
17enum class ETextHitPoint : uint8;
18
19#if WITH_FANCY_TEXT
20
21class FSlateImageRun : public ISlateRun, public TSharedFromThis< FSlateImageRun >
22{
23public:
24
29
30public:
31
32 SLATE_API virtual ~FSlateImageRun();
33
34 SLATE_API virtual FTextRange GetTextRange() const override;
35 SLATE_API virtual void SetTextRange( const FTextRange& Value ) override;
36
37 SLATE_API virtual int16 GetBaseLine( float Scale ) const override;
38 SLATE_API virtual int16 GetMaxHeight( float Scale ) const override;
39
40 SLATE_API virtual FVector2D Measure( int32 StartIndex, int32 EndIndex, float Scale, const FRunTextContext& TextContext ) const override;
41
42 SLATE_API virtual int8 GetKerning(int32 CurrentIndex, float Scale, const FRunTextContext& TextContext) const override;
43
44 SLATE_API virtual TSharedRef< ILayoutBlock > CreateBlock( int32 StartIndex, int32 EndIndex, FVector2D Size, const FLayoutBlockTextContext& TextContext, const TSharedPtr< IRunRenderer >& Renderer ) override;
45
46 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;
47
48 SLATE_API virtual const TArray< TSharedRef<SWidget> >& GetChildren() override;
49
50 SLATE_API virtual void ArrangeChildren( const TSharedRef< ILayoutBlock >& Block, const FGeometry& AllottedGeometry, FArrangedChildren& ArrangedChildren ) const override;
51
52 SLATE_API virtual int32 GetTextIndexAt( const TSharedRef< ILayoutBlock >& Block, const FVector2D& Location, float Scale, ETextHitPoint* const OutHitPoint = nullptr ) const override;
53
54 SLATE_API virtual FVector2D GetLocationAt( const TSharedRef< ILayoutBlock >& Block, int32 Offset, float Scale ) const override;
55
56 virtual void BeginLayout() override {}
57 virtual void EndLayout() override {}
58
59 SLATE_API virtual void Move(const TSharedRef<FString>& NewText, const FTextRange& NewRange) override;
60 SLATE_API virtual TSharedRef<IRun> Clone() const override;
61
62 SLATE_API virtual void AppendTextTo(FString& AppendToText) const override;
63 SLATE_API virtual void AppendTextTo(FString& AppendToText, const FTextRange& PartialRange) const override;
64
65 SLATE_API virtual const FRunInfo& GetRunInfo() const override;
66
67 SLATE_API virtual ERunAttributes GetRunAttributes() const override;
68
69protected:
70
72
74
76
78
79private:
80
81 FRunInfo RunInfo;
84 const FSlateBrush* Image;
85 TAttribute< int16 > Baseline;
87};
88
89#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 NameTypes.h:617
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:153
@ Range
Definition EnvQueryTypes.h:81
Definition Geometry.h:40
Definition IRun.h:98
Definition IRun.h:14
Definition IRun.h:85
Definition SlateBrush.h:239
Definition ISlateRun.h:16
Definition SlateTypes.h:326
Definition UnrealString.h:234