138#if WITH_SLATE_DEBUGGING
199 bool IsValid()
const {
return Grid !=
nullptr &&
Grid->WidgetArray.IsValidIndex(WidgetIndex); }
200 const FWidgetData& GetWidgetData()
const;
201 const FSlateRect& GetCullingRect()
const {
return Grid->CullingRect; }
213 , DistanceSqToWidget(0)
216 : FWidgetIndex(WidgetIndex)
219 float GetDistanceSqToWidget()
const {
return DistanceSqToWidget; }
222 float DistanceSqToWidget;
225 struct FGridTestingParams;
237 void AddIndex(
int32 WidgetIndex);
238 void RemoveIndex(
int32 WidgetIndex);
241 const TArray<int32>& GetWidgetIndexes()
const {
return WidgetIndexes; }
247 struct FAppendedGridData
266 template<
typename TCompareFunc,
typename TSourceS
ideFunc,
typename TDestS
ideFunc>
267 TSharedPtr<SWidget> FindFocusableWidget(
const FSlateRect WidgetRect,
const FSlateRect SweptRect,
int32 AxisIndex,
int32 Increment,
const EUINavigation Direction,
const FNavigationReply& NavigationReply,
TCompareFunc CompareFunc,
TSourceSideFunc SourceSideFunc,
TDestSideFunc DestSideFunc,
int32 UserIndex,
TArray<FDebuggingFindNextFocusableWidgetArgs::FWidgetResult>*
IntermediatedResultPtr, TSet<
TSharedPtr<SWidget>>* DisabledDestinations)
const;
275 checkfSlow((
Y*NumCells.
X +
X) < Cells.
Num(),
TEXT(
"HitTestGrid CellAt() failed: X= %d Y= %d NumCells.X= %d NumCells.Y= %d Cells.Num()= %d"),
X,
Y, NumCells.
X, NumCells.
Y, Cells.
Num());
276 return Cells[
Y*NumCells.
X +
X];
282 checkfSlow((
Y*NumCells.
X +
X) < Cells.
Num(),
TEXT(
"HitTestGrid CellAt() failed: X= %d Y= %d NumCells.X= %d NumCells.Y= %d Cells.Num()= %d"),
X,
Y, NumCells.
X, NumCells.
Y, Cells.
Num());
283 return Cells[
Y*NumCells.
X +
X];
345 int32 CurrentUserIndex;
350#if WITH_SLATE_DEBUGGING
356#if WITH_SLATE_DEBUGGING
#define checkfSlow(expr, format,...)
Definition AssertionMacros.h:333
#define check(expr)
Definition AssertionMacros.h:314
@ INDEX_NONE
Definition CoreMiscDefines.h:150
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_TwoParams(DelegateName, Param1Type, Param2Type)
Definition DelegateCombinations.h:58
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
UE_FORCEINLINE_HINT bool IsValid(const UObject *Test)
Definition Object.h:1875
EUINavigation
Definition SlateEnums.h:99
Definition ArrangedChildren.h:15
Definition HittestGrid.h:30
UE::Slate::FDeprecateVector2DResult GetGridWindowOrigin() const
Definition HittestGrid.h:82
SLATECORE_API bool IsValidCellCoord(const FIntPoint &CellCoord) const
Definition HittestGrid.cpp:720
int32 GetUserIndex() const
Definition HittestGrid.h:68
UE::Slate::FDeprecateVector2DResult GetGridSize() const
Definition HittestGrid.h:80
SLATECORE_API FHittestGrid()
Definition HittestGrid.cpp:163
SLATECORE_API FSlateRect GetWidgetRenderBoundingRect(const TSharedPtr< SWidget > &Widget) const
Definition HittestGrid.cpp:702
SLATECORE_API TArray< FWidgetAndPointer > GetBubblePath(UE::Slate::FDeprecateVector2DParameter DesktopSpaceCoordinate, float CursorRadius, bool bIgnoreEnabledStatus, int32 UserIndex=INDEX_NONE)
Definition HittestGrid.cpp:180
SLATECORE_API bool SetHittestArea(const UE::Slate::FDeprecateVector2DParameter &HittestPositionInDesktop, const UE::Slate::FDeprecateVector2DParameter &HittestDimensions, const UE::Slate::FDeprecateVector2DParameter &HitestOffsetInWindow=FVector2f::ZeroVector)
Definition HittestGrid.cpp:254
SLATECORE_API void Clear()
Definition HittestGrid.cpp:286
SLATECORE_API void InsertCustomHitTestPath(const SWidget *InWidget, const TSharedRef< ICustomHitTestPath > &CustomHitTestPath)
Definition HittestGrid.cpp:919
const FVector2f & GetCellSize() const
Definition HittestGrid.h:91
void SetUserIndex(int32 UserIndex)
Definition HittestGrid.h:59
SLATECORE_API void AddWidget(const SWidget *InWidget, int32 InBatchPriorityGroup, int32 InLayerId, FSlateInvalidationWidgetSortOrder InSecondarySort)
Definition HittestGrid.cpp:814
void SetOwner(const SWidget *InOwner)
Definition HittestGrid.h:65
SLATECORE_API bool ContainsWidget(const SWidget *InWidget) const
Definition HittestGrid.cpp:914
SLATECORE_API void RemoveWidget(const SWidget *InWidget)
Definition HittestGrid.cpp:875
void SetCullingRect(const FSlateRect &InCullingRect)
Definition HittestGrid.h:62
SLATECORE_API void AddGrid(const TSharedRef< const FHittestGrid > &OtherGrid)
Definition HittestGrid.cpp:730
UE::Slate::FDeprecateVector2DResult GetGridOrigin() const
Definition HittestGrid.h:81
SLATECORE_API void UpdateWidget(const SWidget *InWidget, FSlateInvalidationWidgetSortOrder InSecondarySort)
Definition HittestGrid.cpp:905
SLATECORE_API void RemoveGrid(const TSharedRef< const FHittestGrid > &OtherGrid)
Definition HittestGrid.cpp:771
SLATECORE_API TSharedPtr< SWidget > FindNextFocusableWidget(const FArrangedWidget &StartingWidget, const EUINavigation Direction, const FNavigationReply &NavigationReply, const FArrangedWidget &RuleWidget, int32 UserIndex)
Definition HittestGrid.cpp:306
Definition NavigationReply.h:43
Definition UnrealTemplate.h:321
Definition SlateRect.h:26
Definition DrawElements.h:220
Definition HittestGrid.h:18
virtual ~ICustomHitTestPath()
Definition HittestGrid.h:20
virtual void ArrangeCustomHitTestChildren(FArrangedChildren &ArrangedChildren) const =0
virtual TArray< FWidgetAndPointer > GetBubblePathAndVirtualCursors(const FGeometry &InGeometry, FVector2D DesktopSpaceCoordinate, bool bIgnoreEnabledStatus) const =0
virtual TOptional< FVirtualPointerPosition > TranslateMouseCoordinateForCustomHitTestChild(const SWidget &ChildWidget, const FGeometry &MyGeometry, const FVector2D ScreenSpaceMouseCoordinate, const FVector2D LastScreenSpaceMouseCoordinate) const =0
UE_REWRITE SizeType Num() const
Definition Array.h:1144
Definition UnrealString.h.inl:34
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SparseArray.h:524
Definition SharedPointer.h:1295
UE_FORCEINLINE_HINT TSharedPtr< ObjectType, Mode > Pin() const &
Definition SharedPointer.h:1512
@ Grid
Definition ReporterGraph.h:20
FDeprecateSlateVector2D FDeprecateVector2DResult
Definition SlateVector2.h:469
Definition BlendSpaceHelpers.cpp:11
Definition NavigationMethodOrthogonal.h:11
Definition NavigationMethod.h:12
Definition NavigationRouting.h:47
Definition InstancedStruct.h:307
Definition Optional.h:131
IntType Y
Definition IntPoint.h:37
IntType X
Definition IntPoint.h:34
static CORE_API const TVector2< float > ZeroVector
Definition Vector2D.h:63
Definition SlateVector2.h:485