UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SlateEditableTextTypes.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"
9
10class FPaintArgs;
11class FSlateRect;
13class FWidgetStyle;
14struct FGeometry;
15struct FSlateBrush;
16struct FTextBlockStyle;
17
19{
20
22{
24 Left,
25
27 Right,
28};
29
32{
33public:
35 : CursorPosition()
36 , CursorAlignment(ECursorAlignment::Left)
37 , CursorTextDirection(TextBiDi::ETextDirection::LeftToRight)
38 , LastCursorInteractionTime(0)
39 {
40 }
41
44 {
45 return CursorPosition;
46 }
47
50 {
51 return CursorAlignment;
52 }
53
56 {
57 return CursorTextDirection;
58 }
59
62 {
63 // If the cursor is right aligned, we treat it as if it were one character further along for insert/delete purposes
64 return FTextLocation(CursorPosition, (CursorAlignment == ECursorAlignment::Right) ? 1 : 0);
65 }
66
67 inline double GetLastCursorInteractionTime() const
68 {
69 return LastCursorInteractionTime;
70 }
71
74
77
80
83
86
87private:
89 FTextLocation CursorPosition;
90
92 ECursorAlignment CursorAlignment;
93
95 TextBiDi::ETextDirection CursorTextDirection;
96
98 double LastCursorInteractionTime;
99};
100
113
135
155
172
192
212
213} // namespace SlateEditableTextTypes
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
uint32 Offset
Definition VulkanMemory.cpp:4033
uint8_t uint8
Definition binka_ue_file_header.h:8
Definition PaintArgs.h:23
Definition SlateRect.h:26
Definition DrawElements.h:220
Definition TextLayout.h:213
Definition Text.h:385
Definition WidgetStyle.h:15
Definition ISlateLineHighlighter.h:16
const FTextLayout::FLineView const float const float const FTextBlockStyle const FGeometry const FSlateRect FSlateWindowElementList int32 const FWidgetStyle & InWidgetStyle
Definition ISlateLineHighlighter.h:21
const FTextLayout::FLineView const float const float const FTextBlockStyle const FGeometry const FSlateRect FSlateWindowElementList & OutDrawElements
Definition ISlateLineHighlighter.h:21
const FTextLayout::FLineView const float const float const FTextBlockStyle const FGeometry const FSlateRect FSlateWindowElementList int32 LayerId
Definition ISlateLineHighlighter.h:21
const FTextLayout::FLineView const float const float const FTextBlockStyle const FGeometry & AllottedGeometry
Definition ISlateLineHighlighter.h:21
const FTextLayout::FLineView const float const float const FTextBlockStyle const FGeometry const FSlateRect & MyCullingRect
Definition ISlateLineHighlighter.h:21
const FTextLayout::FLineView const float const float Width
Definition ISlateLineHighlighter.h:21
const FTextLayout::FLineView const float const float const FTextBlockStyle & DefaultStyle
Definition ISlateLineHighlighter.h:21
const FTextLayout::FLineView & Line
Definition ISlateLineHighlighter.h:21
Definition SlateEditableTextTypes.h:32
FTextLocation GetCursorInteractionLocation() const
Definition SlateEditableTextTypes.h:61
SLATE_API FCursorInfo CreateUndo() const
Definition SlateEditableTextTypes.cpp:76
FTextLocation GetCursorLocation() const
Definition SlateEditableTextTypes.h:43
double GetLastCursorInteractionTime() const
Definition SlateEditableTextTypes.h:67
SLATE_API void RestoreFromUndo(const FCursorInfo &UndoData)
Definition SlateEditableTextTypes.cpp:85
TextBiDi::ETextDirection GetCursorTextDirection() const
Definition SlateEditableTextTypes.h:55
SLATE_API void SetCursorLocationAndCalculateAlignment(const FTextLayout &InTextLayout, const FTextLocation &InCursorPosition)
Definition SlateEditableTextTypes.cpp:19
SLATE_API void UpdateLastCursorInteractionTime()
Definition SlateEditableTextTypes.cpp:14
ECursorAlignment GetCursorAlignment() const
Definition SlateEditableTextTypes.h:49
FCursorInfo()
Definition SlateEditableTextTypes.h:34
SLATE_API void SetCursorLocationAndAlignment(const FTextLayout &InTextLayout, const FTextLocation &InCursorPosition, const ECursorAlignment InCursorAlignment)
Definition SlateEditableTextTypes.cpp:46
Definition SlateEditableTextTypes.h:138
virtual SLATE_API int32 OnPaint(const FPaintArgs &Args, const FTextLayout::FLineView &Line, const FVector2D Offset, const float Width, const FTextBlockStyle &DefaultStyle, const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled) const override
Definition SlateEditableTextTypes.cpp:106
SLATE_API void SetCursorBrush(const TAttribute< const FSlateBrush * > &InCursorBrush)
Definition SlateEditableTextTypes.cpp:101
TAttribute< const FSlateBrush * > CursorBrush
Definition SlateEditableTextTypes.h:153
const FCursorInfo * CursorInfo
Definition SlateEditableTextTypes.h:150
Definition SlateEditableTextTypes.h:158
SLATE_API void SetCompositionBrush(const TAttribute< const FSlateBrush * > &InCompositionBrush)
Definition SlateEditableTextTypes.cpp:160
virtual SLATE_API int32 OnPaint(const FPaintArgs &Args, const FTextLayout::FLineView &Line, const FVector2D Offset, const float Width, const FTextBlockStyle &DefaultStyle, const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled) const override
Definition SlateEditableTextTypes.cpp:165
SLATE_API FTextCompositionHighlighter()
Definition SlateEditableTextTypes.cpp:155
static SLATE_API TSharedRef< FTextCompositionHighlighter > Create()
Definition SlateEditableTextTypes.cpp:191
TAttribute< const FSlateBrush * > CompositionBrush
Definition SlateEditableTextTypes.h:170
Definition SlateEditableTextTypes.h:195
bool bHasKeyboardFocus
Definition SlateEditableTextTypes.h:210
static SLATE_API TSharedRef< FTextSearchHighlighter > Create()
Definition SlateEditableTextTypes.cpp:267
virtual SLATE_API int32 OnPaint(const FPaintArgs &Args, const FTextLayout::FLineView &Line, const FVector2D Offset, const float Width, const FTextBlockStyle &DefaultStyle, const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled) const override
Definition SlateEditableTextTypes.cpp:240
SLATE_API FTextSearchHighlighter()
Definition SlateEditableTextTypes.cpp:236
void SetHasKeyboardFocus(const bool bInHasKeyboardFocus)
Definition SlateEditableTextTypes.h:201
Definition SlateEditableTextTypes.h:175
static SLATE_API TSharedRef< FTextSelectionHighlighter > Create()
Definition SlateEditableTextTypes.cpp:231
bool bHasKeyboardFocus
Definition SlateEditableTextTypes.h:190
SLATE_API FTextSelectionHighlighter()
Definition SlateEditableTextTypes.cpp:196
void SetHasKeyboardFocus(const bool bInHasKeyboardFocus)
Definition SlateEditableTextTypes.h:181
virtual SLATE_API int32 OnPaint(const FPaintArgs &Args, const FTextLayout::FLineView &Line, const FVector2D Offset, const float Width, const FTextBlockStyle &DefaultStyle, const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled) const override
Definition SlateEditableTextTypes.cpp:200
Definition Attribute.h:17
Definition SharedPointer.h:153
Definition SlateEditableTextTypes.cpp:12
ECursorAlignment
Definition SlateEditableTextTypes.h:22
Definition LegacyText.cpp:145
ETextDirection
Definition Text.h:1413
Definition Geometry.h:40
Definition SlateBrush.h:239
Definition SlateTypes.h:326
Definition TextLayout.h:328
Definition TextLayout.h:100
Definition SlateEditableTextTypes.h:116
FScrollInfo(const FTextLocation InPosition, const ECursorAlignment InAlignment)
Definition SlateEditableTextTypes.h:123
ECursorAlignment Alignment
Definition SlateEditableTextTypes.h:133
FScrollInfo()
Definition SlateEditableTextTypes.h:117
FTextLocation Position
Definition SlateEditableTextTypes.h:130
Definition SlateEditableTextTypes.h:103
FCursorInfo CursorInfo
Definition SlateEditableTextTypes.h:111
TOptional< FTextLocation > SelectionStart
Definition SlateEditableTextTypes.h:108
FText Text
Definition SlateEditableTextTypes.h:105
Definition Optional.h:131