UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SlateHyperlinkRun.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"
10#include "Widgets/IToolTip.h"
13
15class FPaintArgs;
18enum class ETextHitPoint : uint8;
19
20#if WITH_FANCY_TEXT
21
22class FSlateHyperlinkRun : public ISlateRun, public TSharedFromThis< FSlateHyperlinkRun >
23{
24public:
25
27 DECLARE_DELEGATE_OneParam( FOnClick, const FMetadata& /*Metadata*/ );
30
31public:
32
34 {
35 public:
36
37 bool IsPressed() const { return bIsPressed; }
38 bool IsHovered() const { return bIsHovered; }
39
40 void SetIsPressed( bool Value ) { bIsPressed = Value; }
41 void SetIsHovered( bool Value ) { bIsHovered = Value; }
42
43 private:
44
45 bool bIsPressed;
46 bool bIsHovered;
47 };
48
49public:
50
52
54
55public:
56
57 virtual ~FSlateHyperlinkRun() {}
58
59 SLATE_API virtual FTextRange GetTextRange() const override;
60
61 SLATE_API virtual void SetTextRange( const FTextRange& Value ) override;
62
63 SLATE_API virtual int16 GetBaseLine( float Scale ) const override;
64
65 SLATE_API virtual int16 GetMaxHeight( float Scale ) const override;
66
67 SLATE_API virtual FVector2D Measure( int32 StartIndex, int32 EndIndex, float Scale, const FRunTextContext& TextContext ) const override;
68
69 SLATE_API virtual int8 GetKerning(int32 CurrentIndex, float Scale, const FRunTextContext& TextContext) const override;
70
71 SLATE_API virtual FVector2d GetOutlineSize(int32 StartIndex, int32 EndIndex, float Scale) const override;
72
73 SLATE_API virtual FVector2d GetShadowSize(int32 StartIndex, int32 EndIndex, float Scale) const override;
74
75 SLATE_API virtual TSharedRef< ILayoutBlock > CreateBlock( int32 StartIndex, int32 EndIndex, FVector2D Size, const FLayoutBlockTextContext& TextContext, const TSharedPtr< IRunRenderer >& Renderer ) override;
76
77 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;
78
79 SLATE_API virtual const TArray< TSharedRef<SWidget> >& GetChildren() override;
80
81 SLATE_API virtual void ArrangeChildren( const TSharedRef< ILayoutBlock >& Block, const FGeometry& AllottedGeometry, FArrangedChildren& ArrangedChildren ) const override;
82
83 SLATE_API virtual int32 GetTextIndexAt( const TSharedRef< ILayoutBlock >& Block, const FVector2D& Location, float Scale, ETextHitPoint* const OutHitPoint = nullptr ) const override;
84
85 SLATE_API virtual FVector2D GetLocationAt( const TSharedRef< ILayoutBlock >& Block, int32 Offset, float Scale ) const override;
86
87 virtual void BeginLayout() override { Children.Empty(); }
88 virtual void EndLayout() override {}
89
90 SLATE_API virtual void Move(const TSharedRef<FString>& NewText, const FTextRange& NewRange) override;
91 SLATE_API virtual TSharedRef<IRun> Clone() const override;
92
93 SLATE_API virtual void AppendTextTo(FString& AppendToText) const override;
94 SLATE_API virtual void AppendTextTo(FString& AppendToText, const FTextRange& PartialRange) const override;
95
96 SLATE_API virtual const FRunInfo& GetRunInfo() const override;
97
98 SLATE_API virtual ERunAttributes GetRunAttributes() const override;
99
100protected:
101
103
105
107
108protected:
109
110 SLATE_API void OnNavigate();
111
112protected:
113
114 FRunInfo RunInfo;
117 FHyperlinkStyle Style;
121
124};
125
126#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
#define DECLARE_DELEGATE_RetVal_OneParam(ReturnValueType, DelegateName, Param1Type)
Definition DelegateCombinations.h:54
#define DECLARE_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:48
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 Text.h:385
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 GetShadowSize(int32 StartIndex, int32 EndIndex, float Scale) const
Definition IRun.h:142
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 FVector2D GetOutlineSize(int32 StartIndex, int32 EndIndex, float Scale) const
Definition IRun.h:141
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 SharedPointer.h:1640
Definition SharedPointer.h:153
@ Range
Definition EnvQueryTypes.h:81
Definition Geometry.h:40
Definition SlateTypes.h:832
Definition IRun.h:98
Definition IRun.h:14
Definition IRun.h:85
Definition ISlateRun.h:16
Definition UnrealString.h:234