5#include "CoreMinimal.h"
6#include "Widgets/SCompoundWidget.h"
7#include "Widgets/Layout/Anchors.h"
11class UTouchInputComponent;
12class STouchInputComponent;
13class UTouchInterfaceSettings;
15class SConstraintCanvas;
20class UMaterialInterface;
36DECLARE_DELEGATE(FOnTouchInterfaceEvent)
47 : _RenderOpacity(1.0f)
49 SLATE_ARGUMENT(
bool, bRenderOnInvalidation)
50 SLATE_ARGUMENT(
bool, bRenderOnPhase)
51 SLATE_ARGUMENT(
bool, bRetainRender)
52 SLATE_ARGUMENT(int32, Phase)
53 SLATE_ARGUMENT(int32, PhaseCount)
54 SLATE_ARGUMENT(TObjectPtr<UMaterialInterface>, RetainerMaterial)
55 SLATE_ARGUMENT(FName, TextureParamName)
56 SLATE_ARGUMENT(
float, RenderOpacity)
62 void Construct(const FArguments& InArgs);
84 float GetLayoutOpacity()
const;
86 FVector2D GetGeometrySize()
const;
90 void SetLayoutVisibility(
const bool bIsVisible)
const;
92 void SetRetainRender(
const bool bValue);
93 void SetRenderOnPhase(
const bool bValue);
94 void SetRenderOnInvalidation(
const bool bValue);
95 void SetRenderPhase(
const int32 Phase,
const int32 PhaseCount);
96 void SetRetainerMaterial(TObjectPtr<UMaterialInterface> Value);
97 void SetTextureParameterName(
const FName Name);
98 void SetCanvasRenderOpacity(
const float Value);
106 bool IsLayoutVisible()
const;
108 FVector2D AbsoluteToLocal(
const FVector2D AbsolutePosition)
const;
114 virtual void Rebuild(
const TObjectPtr<UTouchInterfaceLayout> Layout);
118 virtual void SortByPriority();
120 virtual bool GetAllTouchInputUnderLocation(TArray<TSharedPtr<SLayoutComponent>>& OutComponents,
const FVector2D AbsoluteLocation);
123 template <
typename T>
124 TSharedRef<T> AddComponentOfType();
126 FMargin GenerateOffsetMargin(
const FVector2D& Size,
const FVector2D& Position);
129 virtual void HandleDisplayMetricsChanged(
const FDisplayMetrics& NewDisplayMetric);
131 virtual float CalculateScaleFactor(
const FGeometry& Geometry)
const;
168 friend class STouchInterfaceLayoutEditor;
DECLARE_DELEGATE_TwoParams(FOnLayoutTouch, int32, FVector2D) DECLARE_DELEGATE_OneParam(FOnTouchInterfaceNotification
DECLARE_DELEGATE_OneParam(FOnVirtualInputSelected, FName)
Definition SLayoutComponent.h:55
Definition STouchInterface.h:43
TSharedPtr< SRetainerWidget > RetainerWidget
Definition STouchInterface.h:134
FOnTouchInterfaceNotification OnVisibilityChanged
Definition STouchInterface.h:141
SLATE_BEGIN_ARGS(STouchInterface)
Definition STouchInterface.h:46
TArray< TSharedPtr< SLayoutComponent > > TouchInputWidgets
Definition STouchInterface.h:145
STouchInterface()
Definition STouchInterface.cpp:14
uint8 bBlockInput
Definition STouchInterface.h:157
uint8 bBlockTouchEvent
Definition STouchInterface.h:153
uint8 bCaptureMouse
Definition STouchInterface.h:155
FVector2D CurrentGeometrySize
Definition STouchInterface.h:151
uint8 bMoveEventAllowed
Definition STouchInterface.h:159
TArray< TSharedPtr< SLayoutComponent > > GetComponents()
Definition STouchInterface.h:82
TArray< TSharedPtr< SLayoutComponent > > Children
Definition STouchInterface.h:138
int32 ActiveFingerCount
Definition STouchInterface.h:161
TSharedPtr< SConstraintCanvas > MainCanvas
Definition STouchInterface.h:136
int32 DebugType
Definition STouchInterface.h:165
FOnTouchInterfaceEvent OnLayoutGenerated
Definition STouchInterface.h:143
FVector2D PreviousGeometrySize
Definition STouchInterface.h:149
float PreviousScalingFactor
Definition STouchInterface.h:147
FOnTouchInterfaceNotification OnActiveStateChanged
Definition STouchInterface.h:140
virtual void GenerateLayout(const TObjectPtr< UTouchInterfaceLayout > Layout)=0
bool bDrawDebug
Definition STouchInterface.h:163
Definition LayoutComponent.h:94
Definition TouchInterfaceLayout.h:20
Definition TouchInterfaceListener.h:16
Definition STouchInterface.h:23
float Angle
Definition STouchInterface.h:29
FVector Size
Definition STouchInterface.h:28
TSharedPtr< SLayoutComponent > Widget
Definition STouchInterface.h:31
FAnchors Anchors
Definition STouchInterface.h:25
FVector2D Alignment
Definition STouchInterface.h:26
FVector2D Location
Definition STouchInterface.h:27
int32 ZOrder
Definition STouchInterface.h:24