UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
SVirtualJoystick Class Reference

#include <SVirtualJoystick.h>

+ Inheritance diagram for SVirtualJoystick:

Classes

struct  FControlData
 
struct  FControlInfo
 

Public Member Functions

 SLATE_BEGIN_ARGS (SVirtualJoystick)
 
SLATE_API void Construct (const FArguments &InArgs)
 
SLATE_API void SetJoystickVisibility (const bool bVisible, const bool bFade)
 
SLATE_API void AddControl (const FControlInfo &Control)
 
SLATE_API void ClearControls ()
 
SLATE_API void SetControls (const TArray< FControlInfo > &InControls)
 
SLATE_API void SetGlobalParameters (float InActiveOpacity, float InInactiveOpacity, float InTimeUntilDeactive, float InTimeUntilReset, float InActivationDelay, bool InbPreventReCenter, float InStartupDelay)
 
virtual SLATE_API int32 OnPaint (const FPaintArgs &Args, const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled) const override
 
virtual SLATE_API FVector2D ComputeDesiredSize (float) const override
 
virtual SLATE_API FReply OnTouchStarted (const FGeometry &MyGeometry, const FPointerEvent &Event) override
 
virtual SLATE_API FReply OnTouchMoved (const FGeometry &MyGeometry, const FPointerEvent &Event) override
 
virtual SLATE_API FReply OnTouchEnded (const FGeometry &MyGeometry, const FPointerEvent &Event) override
 
virtual SLATE_API void Tick (const FGeometry &AllottedGeometry, const double InCurrentTime, const float InDeltaTime) override
 
virtual SLATE_API bool SupportsKeyboardFocus () const override
 
- Public Member Functions inherited from SLeafWidget
SLATECORE_API SLeafWidget ()
 
virtual SLATECORE_API ~SLeafWidget ()
 
virtual SLATECORE_API void SetVisibility (TAttribute< EVisibility > InVisibility) override final
 
- Public Member Functions inherited from SWidget
SLATECORE_API int32 Paint (const FPaintArgs &Args, const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, FSlateWindowElementList &OutDrawElements, int32 LayerId, const FWidgetStyle &InWidgetStyle, bool bParentEnabled) const
 
virtual SLATECORE_API FReply OnFocusReceived (const FGeometry &MyGeometry, const FFocusEvent &InFocusEvent)
 
virtual SLATECORE_API void OnFocusLost (const FFocusEvent &InFocusEvent)
 
virtual SLATECORE_API void OnFocusChanging (const FWeakWidgetPath &PreviousFocusPath, const FWidgetPath &NewWidgetPath, const FFocusEvent &InFocusEvent)
 
virtual SLATECORE_API FReply OnKeyChar (const FGeometry &MyGeometry, const FCharacterEvent &InCharacterEvent)
 
virtual SLATECORE_API FReply OnPreviewKeyDown (const FGeometry &MyGeometry, const FKeyEvent &InKeyEvent)
 
virtual SLATECORE_API FReply OnKeyDown (const FGeometry &MyGeometry, const FKeyEvent &InKeyEvent)
 
virtual SLATECORE_API FReply OnKeyUp (const FGeometry &MyGeometry, const FKeyEvent &InKeyEvent)
 
virtual SLATECORE_API FReply OnAnalogValueChanged (const FGeometry &MyGeometry, const FAnalogInputEvent &InAnalogInputEvent)
 
virtual SLATECORE_API FReply OnMouseButtonDown (const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
 
virtual SLATECORE_API FReply OnPreviewMouseButtonDown (const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
 
virtual SLATECORE_API FReply OnMouseButtonUp (const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
 
virtual SLATECORE_API FReply OnMouseMove (const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
 
virtual SLATECORE_API void OnMouseEnter (const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
 
virtual SLATECORE_API void OnMouseLeave (const FPointerEvent &MouseEvent)
 
virtual SLATECORE_API FReply OnMouseWheel (const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
 
virtual SLATECORE_API FCursorReply OnCursorQuery (const FGeometry &MyGeometry, const FPointerEvent &CursorEvent) const
 
virtual SLATECORE_API TOptional< TSharedRef< SWidget > > OnMapCursor (const FCursorReply &CursorReply) const
 
virtual SLATECORE_API FReply OnMouseButtonDoubleClick (const FGeometry &InMyGeometry, const FPointerEvent &InMouseEvent)
 
virtual SLATECORE_API bool OnVisualizeTooltip (const TSharedPtr< SWidget > &TooltipContent)
 
virtual SLATECORE_API TSharedPtr< FPopupLayerOnVisualizePopup (const TSharedRef< SWidget > &PopupContent)
 
virtual SLATECORE_API FReply OnDragDetected (const FGeometry &MyGeometry, const FPointerEvent &MouseEvent)
 
virtual SLATECORE_API void OnDragEnter (const FGeometry &MyGeometry, const FDragDropEvent &DragDropEvent)
 
virtual SLATECORE_API void OnDragLeave (const FDragDropEvent &DragDropEvent)
 
virtual SLATECORE_API FReply OnDragOver (const FGeometry &MyGeometry, const FDragDropEvent &DragDropEvent)
 
virtual SLATECORE_API FReply OnDrop (const FGeometry &MyGeometry, const FDragDropEvent &DragDropEvent)
 
virtual SLATECORE_API FReply OnTouchGesture (const FGeometry &MyGeometry, const FPointerEvent &GestureEvent)
 
virtual SLATECORE_API FReply OnTouchForceChanged (const FGeometry &MyGeometry, const FPointerEvent &TouchEvent)
 
virtual SLATECORE_API FReply OnTouchFirstMove (const FGeometry &MyGeometry, const FPointerEvent &TouchEvent)
 
virtual SLATECORE_API FReply OnMotionDetected (const FGeometry &MyGeometry, const FMotionEvent &InMotionEvent)
 
virtual SLATECORE_API TOptional< boolOnQueryShowFocus (const EFocusCause InFocusCause) const
 
virtual SLATECORE_API FPopupMethodReply OnQueryPopupMethod () const
 
virtual SLATECORE_API TOptional< FVirtualPointerPositionTranslateMouseCoordinateForCustomHitTestChild (const SWidget &ChildWidget, const FGeometry &MyGeometry, const FVector2D ScreenSpaceMouseCoordinate, const FVector2D LastScreenSpaceMouseCoordinate) const
 
virtual SLATECORE_API void OnFinishedPointerInput ()
 
virtual SLATECORE_API void OnFinishedKeyInput ()
 
virtual SLATECORE_API FNavigationReply OnNavigation (const FGeometry &MyGeometry, const FNavigationEvent &InNavigationEvent)
 
virtual SLATECORE_API EWindowZone::Type GetWindowZoneOverride () const
 
bool NeedsPrepass () const
 
SLATECORE_API void SlatePrepass ()
 
SLATECORE_API void SlatePrepass (float InLayoutScaleMultiplier)
 
void SetCanTick (bool bInCanTick)
 
bool GetCanTick () const
 
bool HasRegisteredSlateAttribute () const
 
bool IsAttributesUpdatesEnabled () const
 
const FSlateWidgetPersistentStateGetPersistentState () const
 
const FWidgetProxyHandle GetProxyHandle () const
 
SLATECORE_API UE::Slate::FDeprecateVector2DResult GetDesiredSize () const
 
SLATECORE_API void AssignParentWidget (TSharedPtr< SWidget > InParent)
 
SLATECORE_API bool ConditionallyDetatchParentWidget (SWidget *InExpectedParent)
 
virtual bool ValidatePathToChild (SWidget *InChild)
 
bool IsParentValid () const
 
TSharedPtr< SWidgetGetParentWidget () const
 
TSharedPtr< SWidgetAdvanced_GetPaintParentWidget () const
 
SLATECORE_API FSlateRect CalculateCullingAndClippingRules (const FGeometry &AllottedGeometry, const FSlateRect &MyCullingRect, bool &bClipToBounds, bool &bAlwaysClip, bool &bIntersectClipBounds) const
 
bool HasAnyUpdateFlags (EWidgetUpdateFlags FlagsToCheck) const
 
TStatId GetStatID (bool bForDeferredUse=false) const
 
virtual SLATECORE_API float GetRelativeLayoutScale (const int32 ChildIndex, float LayoutScaleMultiplier) const
 
SLATECORE_API void ArrangeChildren (const FGeometry &AllottedGeometry, FArrangedChildren &ArrangedChildren, bool bUpdateAttributes=false) const
 
virtual FChildrenGetAllChildren ()
 
virtual SLATECORE_API bool HasKeyboardFocus () const
 
SLATECORE_API TOptional< EFocusCauseHasUserFocus (int32 UserIndex) const
 
SLATECORE_API TOptional< EFocusCauseHasAnyUserFocus () const
 
SLATECORE_API bool HasUserFocusedDescendants (int32 UserIndex) const
 
SLATECORE_API bool HasFocusedDescendants () const
 
SLATECORE_API bool HasAnyUserFocusOrFocusedDescendants () const
 
SLATECORE_API bool HasMouseCapture () const
 
SLATECORE_API bool HasMouseCaptureByUser (int32 UserIndex, TOptional< int32 > PointerIndex=TOptional< int32 >()) const
 
virtual SLATECORE_API void OnMouseCaptureLost (const FCaptureLostEvent &CaptureLostEvent)
 
void SetEnabled (TAttribute< bool > InEnabledState)
 
bool IsEnabled () const
 
virtual bool IsInteractable () const
 
virtual SLATECORE_API TSharedPtr< IToolTipGetToolTip ()
 
virtual SLATECORE_API void OnToolTipClosing ()
 
SLATECORE_API void EnableToolTipForceField (const bool bEnableForceField)
 
bool HasToolTipForceField () const
 
bool IsHovered () const
 
SLATECORE_API bool IsDirectlyHovered () const
 
EVisibility GetVisibility () const
 
bool IsVolatile () const
 
bool IsVolatileIndirectly () const
 
void ForceVolatile (bool bForce)
 
bool ShouldInvalidatePrepassDueToVolatility ()
 
SLATECORE_API void Invalidate (EInvalidateWidgetReason InvalidateReason)
 
void CacheVolatility ()
 
void MarkPrepassAsDirty ()
 
float GetRenderOpacity () const
 
void SetRenderOpacity (float InRenderOpacity)
 
void SetTag (FName InTag)
 
const TOptional< FSlateRenderTransform > & GetRenderTransform () const
 
TOptional< FSlateRenderTransformGetRenderTransformWithRespectToFlowDirection () const
 
UE::Slate::FDeprecateVector2DResult GetRenderTransformPivotWithRespectToFlowDirection () const
 
void SetRenderTransform (TAttribute< TOptional< FSlateRenderTransform > > InTransform)
 
UE::Slate::FDeprecateVector2DResult GetRenderTransformPivot () const
 
void SetRenderTransformPivot (TAttribute< FVector2D > InTransformPivot)
 
SLATECORE_API void SetClipping (EWidgetClipping InClipping)
 
EWidgetClipping GetClipping () const
 
SLATECORE_API void SetPixelSnapping (EWidgetPixelSnapping InPixelSnappingMethod)
 
EWidgetPixelSnapping GetPixelSnapping () const
 
void SetCullingBoundsExtension (const FMargin &InCullingBoundsExtension)
 
FMargin GetCullingBoundsExtension () const
 
void SetFlowDirectionPreference (EFlowDirectionPreference InFlowDirectionPreference)
 
EFlowDirectionPreference GetFlowDirectionPreference () const
 
SLATECORE_API void SetToolTipText (const TAttribute< FText > &ToolTipText)
 
SLATECORE_API void SetToolTipText (const FText &InToolTipText)
 
SLATECORE_API void SetToolTip (const TAttribute< TSharedPtr< IToolTip > > &InToolTip)
 
SLATECORE_API void SetCursor (const TAttribute< TOptional< EMouseCursor::Type > > &InCursor)
 
template<typename MetaDataType >
TSharedPtr< MetaDataType > GetMetaData () const
 
template<typename MetaDataType >
TArray< TSharedRef< MetaDataType > > GetAllMetaData () const
 
template<typename MetaDataType >
void AddMetadata (const TSharedRef< MetaDataType > &AddMe)
 
template<typename MetaDataType >
int32 RemoveMetaData (const TSharedRef< MetaDataType > &RemoveMe)
 
SLATECORE_API void SetOnMouseButtonDown (FPointerEventHandler EventHandler)
 
SLATECORE_API void SetOnMouseButtonUp (FPointerEventHandler EventHandler)
 
SLATECORE_API void SetOnMouseMove (FPointerEventHandler EventHandler)
 
SLATECORE_API void SetOnMouseDoubleClick (FPointerEventHandler EventHandler)
 
SLATECORE_API void SetOnMouseEnter (FNoReplyPointerEventHandler EventHandler)
 
SLATECORE_API void SetOnMouseLeave (FSimpleNoReplyPointerEventHandler EventHandler)
 
virtual SLATECORE_API FString ToString () const
 
SLATECORE_API FString GetTypeAsString () const
 
SLATECORE_API FName GetType () const
 
virtual SLATECORE_API FString GetReadableLocation () const
 
SLATECORE_API FName GetCreatedInLocation () const
 
virtual SLATECORE_API FName GetTag () const
 
virtual SLATECORE_API FSlateColor GetForegroundColor () const
 
virtual SLATECORE_API FSlateColor GetDisabledForegroundColor () const
 
SLATECORE_API const FGeometryGetCachedGeometry () const
 
SLATECORE_API const FGeometryGetTickSpaceGeometry () const
 
SLATECORE_API const FGeometryGetPaintSpaceGeometry () const
 
const TOptional< FSlateClippingState > & GetCurrentClippingState () const
 
virtual bool Advanced_IsWindow () const
 
virtual bool Advanced_IsInvalidationRoot () const
 
virtual const FSlateInvalidationRootAdvanced_AsInvalidationRoot () const
 
SLATECORE_API TSharedRef< FActiveTimerHandleRegisterActiveTimer (float TickPeriod, FWidgetActiveTimerDelegate TickFunction)
 
SLATECORE_API void UnRegisterActiveTimer (const TSharedRef< FActiveTimerHandle > &ActiveTimerHandle)
 
bool HasActiveTimers () const
 
- Public Member Functions inherited from FSlateControlledConstruction
 FSlateControlledConstruction ()=default
 
virtual ~FSlateControlledConstruction ()=default
 
virtual const FSlateWidgetClassDataGetWidgetClass () const =0
 
void operator delete (void *mem)
 
- Public Member Functions inherited from TSharedFromThis< SWidget >
TSharedRef< SWidget, Mode > AsShared ()
 
TSharedRef< SWidget const, Mode > AsShared () const
 
TSharedRef< SubobjectType, Mode > AsSharedSubobject (SubobjectType *SubobjectPtr) const
 
TWeakPtr< SWidget, Mode > AsWeak ()
 
TWeakPtr< SWidget const, Mode > AsWeak () const
 
TWeakPtr< SubobjectType, Mode > AsWeakSubobject (SubobjectType *SubobjectPtr) const
 
void UpdateWeakReferenceInternal (TSharedPtr< SharedPtrType, SharedPtrMode > const *InSharedPtr, OtherType *InObject) const
 
void UpdateWeakReferenceInternal (TSharedRef< SharedRefType, SharedPtrMode > const *InSharedRef, OtherType *InObject) const
 
UE_FORCEINLINE_HINT bool DoesSharedInstanceExist () const
 

Static Public Member Functions

static SLATE_API bool ShouldDisplayTouchInterface ()
 
- Static Public Member Functions inherited from FSlateControlledConstruction
static const FSlateWidgetClassDataStaticWidgetClass ()
 

Protected Types

enum  EVirtualJoystickState {
  State_Active , State_CountingDownToInactive , State_CountingDownToReset , State_Inactive ,
  State_WaitForStart , State_CountingDownToStart
}
 
template<typename T >
using TControlArray = TArray< T, TInlineAllocator< 2 > >
 

Protected Member Functions

virtual SLATE_API void HandleDisplayMetricsChanged (const FDisplayMetrics &NewDisplayMetric)
 
SLATE_API FVector2D ComputeThumbPosition (int32 ControlIndex, const FVector2D &LocalCoord, float *OutDistanceToTouchSqr=nullptr, float *OutDistanceToEdgeSqr=nullptr)
 
virtual SLATE_API bool HandleTouch (int32 ControlIndex, const FVector2D &LocalCoord, const FVector2D &ScreenSize)
 
float GetBaseOpacity ()
 
- Protected Member Functions inherited from SWidget
void SetVolatilePrepass (bool bVolatile)
 
virtual bool CustomPrepass (float LayoutScaleMultiplier)
 
virtual SLATECORE_API void CacheDesiredSize (float InLayoutScaleMultiplier)
 
void SetHover (TAttribute< bool > InHovered)
 
bool IsChildWidgetCulled (const FSlateRect &, const FArrangedWidget &) const
 
SLATECORE_API void InvalidateChildRemovedFromTree (SWidget &Child)
 
bool Advanced_InvalidateVolatility ()
 
EFlowDirection ComputeFlowDirection () const
 
SLATECORE_API void SetDebugInfo (const ANSICHAR *InType, const ANSICHAR *InFile, int32 OnLine, size_t InAllocSize)
 
virtual SLATECORE_API TOptional< EMouseCursor::TypeGetCursor () const
 
SLATECORE_API SWidget ()
 
SLATECORE_API void SWidgetConstruct (const FSlateBaseNamedArgs &Args)
 
bool IsConstructed () const
 
SLATECORE_API bool FindChildGeometries (const FGeometry &MyGeometry, const TSet< TSharedRef< SWidget > > &WidgetsToFind, TMap< TSharedRef< SWidget >, FArrangedWidget > &OutResult) const
 
SLATECORE_API void FindChildGeometries_Helper (const FGeometry &MyGeometry, const TSet< TSharedRef< SWidget > > &WidgetsToFind, TMap< TSharedRef< SWidget >, FArrangedWidget > &OutResult) const
 
SLATECORE_API FGeometry FindChildGeometry (const FGeometry &MyGeometry, TSharedRef< SWidget > WidgetToFind) const
 
bool ShouldBeEnabled (bool InParentEnabled) const
 
virtual SLATECORE_API const FSlateBrushGetFocusBrush () const
 
virtual bool ComputeVolatility () const
 
virtual SLATECORE_API void OnClippingChanged ()
 
float GetPrepassLayoutScaleMultiplier () const
 
SLATECORE_API void Prepass_ChildLoop (float InLayoutScaleMultiplier, FChildren *MyChildren)
 
template<typename TargetValueType , typename SourceValueType >
bool SetAttribute (TAttribute< TargetValueType > &TargetValue, const TAttribute< SourceValueType > &SourceValue, EInvalidateWidgetReason BaseInvalidationReason)
 
TSlateAttributeRef< boolGetEnabledStateAttribute () const
 
TSlateAttributeRef< boolGetHoveredAttribute () const
 
TSlateAttributeRef< EVisibilityGetVisibilityAttribute () const
 
TSlateAttributeRef< TOptional< FSlateRenderTransform > > GetRenderTransformAttribute () const
 
TSlateAttributeRef< FVector2DGetRenderTransformPivotAttribute () const
 
virtual SLATECORE_API ~SWidget ()
 
- Protected Member Functions inherited from TSharedFromThis< SWidget >
 TSharedFromThis ()
 
 TSharedFromThis (TSharedFromThis const &)
 
UE_FORCEINLINE_HINT TSharedFromThisoperator= (TSharedFromThis const &)
 
 ~TSharedFromThis ()
 

Static Protected Member Functions

static SLATE_API void AlignBoxIntoScreen (FVector2D &Position, const FVector2D &Size, const FVector2D &ScreenSize)
 
- Static Protected Member Functions inherited from SWidget
static SLATECORE_API int32 FindChildUnderMouse (const FArrangedChildren &Children, const FPointerEvent &MouseEvent)
 
static SLATECORE_API int32 FindChildUnderPosition (const FArrangedChildren &Children, const UE::Slate::FDeprecateVector2DParameter &ArrangedSpacePosition)
 
static TAttribute< EVisibilityAccessWidgetVisibilityAttribute (const TSharedRef< SWidget > &Widget)
 
- Static Protected Member Functions inherited from TSharedFromThis< SWidget >
static UE_FORCEINLINE_HINT TSharedRef< OtherType, Mode > SharedThis (OtherType *ThisPtr)
 
static UE_FORCEINLINE_HINT TSharedRef< OtherType const, Mode > SharedThis (const OtherType *ThisPtr)
 

Protected Attributes

TControlArray< FControlDataControls
 
float ActiveOpacity = 1.0f
 
float InactiveOpacity = 0.1f
 
float TimeUntilDeactive = 0.5f
 
float TimeUntilReset = 2.0f
 
float ActivationDelay = 0.0f
 
float StartupDelay = 0.0f
 
EVirtualJoystickState State = State_Inactive
 
uint32 bVisible:1
 
uint32 bCenterOnEvent:1
 
uint32 bPreventReCenter:1
 
float CurrentOpacity = InactiveOpacity
 
float Countdown
 
float PreviousScalingFactor = 0.0f
 
- Protected Attributes inherited from SWidget
uint8 bCanSupportFocus: 1
 
uint8 bCanHaveChildren: 1
 
uint8 bClippingProxy: 1
 
uint8 bHasCustomPrepass: 1
 
uint8 bHasRelativeLayoutScale: 1
 
uint8 bVolatilityAlwaysInvalidatesPrepass: 1
 
EWidgetClipping Clipping
 
EWidgetPixelSnapping PixelSnappingMethod
 
FMargin CullingBoundsExtension
 
float RenderOpacity
 

Detailed Description

A virtual joystsick

Member Typedef Documentation

◆ TControlArray

template<typename T >
using SVirtualJoystick::TControlArray = TArray<T, TInlineAllocator<2> >
protected

TArray specialization for controls. In the game only few joysticks presented so we can predict their count and store in memory in more efficient way

Member Enumeration Documentation

◆ EVirtualJoystickState

Enumerator
State_Active 
State_CountingDownToInactive 
State_CountingDownToReset 
State_Inactive 
State_WaitForStart 
State_CountingDownToStart 

Member Function Documentation

◆ AddControl()

void SVirtualJoystick::AddControl ( const FControlInfo Control)

◆ AlignBoxIntoScreen()

void SVirtualJoystick::AlignBoxIntoScreen ( FVector2D Position,
const FVector2D Size,
const FVector2D ScreenSize 
)
staticprotected

◆ ClearControls()

void SVirtualJoystick::ClearControls ( )

◆ ComputeDesiredSize()

FVector2D SVirtualJoystick::ComputeDesiredSize ( float  ) const
overridevirtual

Overwritten from SWidget.

LeafWidgets should compute their DesiredSize based solely on their visual representation. There is no need to take child widgets into account as LeafWidgets have none by definition. For example, the TextBlock widget simply measures the area necessary to display its text with the given font and font size.

Implements SLeafWidget.

◆ ComputeThumbPosition()

FVector2D SVirtualJoystick::ComputeThumbPosition ( int32  ControlIndex,
const FVector2D LocalCoord,
float OutDistanceToTouchSqr = nullptr,
float OutDistanceToEdgeSqr = nullptr 
)
protected

◆ Construct()

void SVirtualJoystick::Construct ( const FArguments &  InArgs)

◆ GetBaseOpacity()

FORCEINLINE float SVirtualJoystick::GetBaseOpacity ( )
inlineprotected

Return the target opacity to lerp to given the current state

◆ HandleDisplayMetricsChanged()

void SVirtualJoystick::HandleDisplayMetricsChanged ( const FDisplayMetrics NewDisplayMetric)
protectedvirtual

Callback for handling display metrics changes.

◆ HandleTouch()

bool SVirtualJoystick::HandleTouch ( int32  ControlIndex,
const FVector2D LocalCoord,
const FVector2D ScreenSize 
)
protectedvirtual

Process a touch event (on movement and possibly on initial touch)

Returns
true if the touch was successful

◆ OnPaint()

int32 SVirtualJoystick::OnPaint ( const FPaintArgs Args,
const FGeometry AllottedGeometry,
const FSlateRect MyCullingRect,
FSlateWindowElementList OutDrawElements,
int32  LayerId,
const FWidgetStyle InWidgetStyle,
bool  bParentEnabled 
) const
overridevirtual

Overwritten from SWidget.

LeafWidgets provide a visual representation of themselves. They do so by adding DrawElement(s) to the OutDrawElements. DrawElements should have their positions set to absolute coordinates in Window space; for this purpose the Slate system provides the AllottedGeometry parameter. AllottedGeometry describes the space allocated for the visualization of this widget.

Whenever possible, LeafWidgets should avoid dealing with layout properties. See TextBlock for an example.

Implements SLeafWidget.

◆ OnTouchEnded()

FReply SVirtualJoystick::OnTouchEnded ( const FGeometry MyGeometry,
const FPointerEvent InTouchEvent 
)
overridevirtual

Called when a touchpad touch is ended (finger lifted)

Parameters
InTouchEventThe touch event generated

Reimplemented from SWidget.

◆ OnTouchMoved()

FReply SVirtualJoystick::OnTouchMoved ( const FGeometry MyGeometry,
const FPointerEvent InTouchEvent 
)
overridevirtual

Called when a touchpad touch is moved (finger moved)

Parameters
InTouchEventThe touch event generated

Reimplemented from SWidget.

◆ OnTouchStarted()

FReply SVirtualJoystick::OnTouchStarted ( const FGeometry MyGeometry,
const FPointerEvent InTouchEvent 
)
overridevirtual

Called when a touchpad touch is started (finger down)

Parameters
InTouchEventThe touch event generated

Reimplemented from SWidget.

◆ SetControls()

void SVirtualJoystick::SetControls ( const TArray< FControlInfo > &  InControls)

◆ SetGlobalParameters()

void SVirtualJoystick::SetGlobalParameters ( float  InActiveOpacity,
float  InInactiveOpacity,
float  InTimeUntilDeactive,
float  InTimeUntilReset,
float  InActivationDelay,
bool  InbPreventReCenter,
float  InStartupDelay 
)

Sets parameters that control all controls

◆ SetJoystickVisibility()

void SVirtualJoystick::SetJoystickVisibility ( const bool  bVisible,
const bool  bFade 
)

Shows or hides the controls (for instance during cinematics)

◆ ShouldDisplayTouchInterface()

bool SVirtualJoystick::ShouldDisplayTouchInterface ( )
static

Static function to return if external users should create/activate/etc a touch interface Note that this function is also used internally, so even if this returns false but an SVirtualJoystick is created, it won't actually show any controls

◆ SLATE_BEGIN_ARGS()

SVirtualJoystick::SLATE_BEGIN_ARGS ( SVirtualJoystick  )
inline

◆ SupportsKeyboardFocus()

bool SVirtualJoystick::SupportsKeyboardFocus ( ) const
overridevirtual

Checks to see if this widget supports keyboard focus. Override this in derived classes.

Returns
True if this widget can take keyboard focus

Reimplemented from SWidget.

◆ Tick()

void SVirtualJoystick::Tick ( const FGeometry AllottedGeometry,
const double  InCurrentTime,
const float  InDeltaTime 
)
overridevirtual

Ticks this widget with Geometry. Override in derived classes, but always call the parent implementation.

Parameters
AllottedGeometryThe space allotted for this widget
InCurrentTimeCurrent absolute real time
InDeltaTimeReal time passed since last tick

Reimplemented from SWidget.

Member Data Documentation

◆ ActivationDelay

float SVirtualJoystick::ActivationDelay = 0.0f
protected

◆ ActiveOpacity

float SVirtualJoystick::ActiveOpacity = 1.0f
protected

Global settings from the UTouchInterface

◆ bCenterOnEvent

uint32 SVirtualJoystick::bCenterOnEvent
protected

If true, this zone will have it's "center" set when you touch it, otherwise the center will be set to the center of the zone

◆ bPreventReCenter

uint32 SVirtualJoystick::bPreventReCenter
protected

If true, ignore re-centering

◆ bVisible

uint32 SVirtualJoystick::bVisible
protected

True if the joystick should be visible

◆ Controls

TControlArray<FControlData> SVirtualJoystick::Controls
protected

List of controls set by the UTouchInterface

◆ Countdown

float SVirtualJoystick::Countdown
protected

◆ CurrentOpacity

float SVirtualJoystick::CurrentOpacity = InactiveOpacity
protected

Target opacity

◆ InactiveOpacity

float SVirtualJoystick::InactiveOpacity = 0.1f
protected

◆ PreviousScalingFactor

float SVirtualJoystick::PreviousScalingFactor = 0.0f
protected

Last used scaling value for

◆ StartupDelay

float SVirtualJoystick::StartupDelay = 0.0f
protected

◆ State

EVirtualJoystickState SVirtualJoystick::State = State_Inactive
protected

The current state of all controls

◆ TimeUntilDeactive

float SVirtualJoystick::TimeUntilDeactive = 0.5f
protected

◆ TimeUntilReset

float SVirtualJoystick::TimeUntilReset = 2.0f
protected

The documentation for this class was generated from the following files: