9#include "Clipping.generated.h"
103 return bIsAxisAligned;
137 return bIsAxisAligned ==
Other.bIsAxisAligned &&
138 bIntersect ==
Other.bIntersect &&
139 bAlwaysClip ==
Other.bAlwaysClip &&
157 Absolute.bIsAxisAligned = bIsAxisAligned;
168 uint8 bIsAxisAligned : 1;
170 uint8 bIntersect : 1;
172 uint8 bAlwaysClip : 1;
176 return Zone.ComputeHash();
214#if WITH_SLATE_DEBUGGING
229 return ScissorRect->GetShouldIntersectParent();
235 if (!
Stencil.GetShouldIntersectParent())
260 if (ScissorRect.IsSet())
262 return ScissorRect->HasZeroArea();
272 ScissorRect ==
Other.ScissorRect &&
273 StencilQuads ==
Other.StencilQuads;
288#if WITH_SLATE_DEBUGGING
299 : CachedClipState(nullptr)
308 return CachedClipState ==
Other.CachedClipState && PrecachedClipIndex ==
Other.PrecachedClipIndex;
323 int32 PrecachedClipIndex;
EClippingMethod
Definition Clipping.h:186
EWidgetClipping
Definition Clipping.h:20
EClippingFlags
Definition Clipping.h:195
uint32 GFrameNumber
Definition CoreGlobals.cpp:425
@ INDEX_NONE
Definition CoreMiscDefines.h:150
TSharedRef< InObjectType, InMode > MakeShared(InArgTypes &&... Args)
Definition SharedPointer.h:2009
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
constexpr bool EnumHasAllFlags(Enum Flags, Enum Contains)
Definition EnumClassFlags.h:28
#define ENUM_CLASS_FLAGS(Enum)
Definition EnumClassFlags.h:6
#define UENUM(...)
Definition ObjectMacros.h:749
#define Absolute(a)
Definition Predicates.inl:150
ESPMode
Definition SharedPointerFwd.h:12
constexpr uint32 HashCombine(uint32 A, uint32 C)
Definition TypeHash.h:36
Definition Clipping.h:329
FSlateCachedClipState(const FSlateClippingState &InState)
Definition Clipping.h:331
TSharedRef< FSlateClippingState, ESPMode::ThreadSafe > ClippingState
Definition Clipping.h:335
Definition Clipping.h:343
SLATECORE_API void PopToStackIndex(int32 Index)
Definition Clipping.cpp:362
SLATECORE_API TOptional< FSlateClippingState > GetActiveClippingState() const
Definition Clipping.cpp:328
SLATECORE_API const FSlateClippingState * GetPreviousClippingState(bool bWillIntersectWithParent) const
Definition Clipping.cpp:236
SLATECORE_API int32 PushClip(const FSlateClippingZone &InClippingZone)
Definition Clipping.cpp:305
const TArray< int32 > & GetClippingStack() const
Definition Clipping.h:351
SLATECORE_API const TArray< FSlateClippingState > & GetClippingStates() const
Definition Clipping.cpp:339
int32 GetStackDepth() const
Definition Clipping.h:356
SLATECORE_API void PopClip()
Definition Clipping.cpp:344
SLATECORE_API FSlateClippingManager()
Definition Clipping.cpp:232
SLATECORE_API void ResetClippingState()
Definition Clipping.cpp:356
SLATECORE_API int32 GetClippingIndex() const
Definition Clipping.cpp:323
int32 GetClippingIndexAtStackIndex(int32 StackIndex) const
Definition Clipping.h:355
SLATECORE_API int32 PushClippingState(const FSlateClippingState &InClipState)
Definition Clipping.cpp:310
Definition Clipping.h:207
bool operator==(const FSlateClippingState &Other) const
Definition Clipping.h:269
bool HasZeroArea() const
Definition Clipping.h:258
EClippingMethod GetClippingMethod() const
Definition Clipping.h:249
bool GetShouldIntersectParent() const
Definition Clipping.h:225
bool GetAlwaysClip() const
Definition Clipping.h:223
TArray< FSlateClippingZone > StencilQuads
Definition Clipping.h:278
TOptional< FSlateClippingZone > ScissorRect
Definition Clipping.h:281
FSlateClippingZone ConvertRelativeToAbsolute(const UE::Slate::FDeprecateVector2DParameter &WindowOffset) const
Definition Clipping.h:154
uint32 ComputeHash() const
Definition Clipping.h:146
bool GetAlwaysClip() const
Definition Clipping.h:89
SLATECORE_API FSlateClippingZone Intersect(const FSlateClippingZone &Other) const
Definition Clipping.cpp:126
FVector2f BottomLeft
Definition Clipping.h:66
void SetAlwaysClip(bool bValue)
Definition Clipping.h:95
bool IsAxisAligned() const
Definition Clipping.h:101
SLATECORE_API bool IsPointInside(const UE::Slate::FDeprecateVector2DParameter &Point) const
Definition Clipping.cpp:183
bool operator==(const FSlateClippingZone &Other) const
Definition Clipping.h:135
FSlateClippingZone()
Definition Clipping.h:74
FVector2f BottomRight
Definition Clipping.h:67
void SetShouldIntersectParent(bool bValue)
Definition Clipping.h:83
SLATECORE_API FSlateRect GetBoundingBox() const
Definition Clipping.cpp:147
bool HasZeroArea() const
Definition Clipping.h:110
bool GetShouldIntersectParent() const
Definition Clipping.h:77
friend uint32 GetTypeHash(const FSlateClippingZone &Zone)
Definition Clipping.h:174
FVector2f TopRight
Definition Clipping.h:65
FVector2f TopLeft
Definition Clipping.h:64
Definition SlateRect.h:26
UE_REWRITE SizeType Num() const
Definition Array.h:1144
UE_NODEBUG UE_FORCEINLINE_HINT bool IsValidIndex(SizeType Index) const
Definition Array.h:1122
Definition SharedPointer.h:153
U16 Index
Definition radfft.cpp:71
Definition Clipping.h:296
bool operator==(const FClipStateHandle &Other) const
Definition Clipping.h:306
const FSlateClippingState * GetCachedClipState() const
Definition Clipping.h:304
FClipStateHandle()
Definition Clipping.h:298
void SetCachedClipState(const FSlateClippingState *CachedState)
Definition Clipping.h:316
void SetPreCachedClipIndex(int32 InClipIndex)
Definition Clipping.h:311
int32 GetPrecachedClipIndex() const
Definition Clipping.h:303
static UE_FORCEINLINE_HINT bool IsNearlyZero(float Value, float ErrorTolerance=UE_SMALL_NUMBER)
Definition UnrealMathUtility.h:407
Definition PaintGeometry.h:24
Definition RenderingCommon.h:379
Definition IsPODType.h:12
@ Value
Definition IsPODType.h:13
Definition Optional.h:131
Definition SlateVector2.h:485