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

#include <LinuxApplication.h>

+ Inheritance diagram for FLinuxApplication:

Classes

struct  FWindowProperties
 

Public Types

enum  UserDefinedEvents { CheckForDeactivation }
 
- Public Types inherited from GenericApplication
typedef FOnConsoleCommandAdded::FDelegate FOnConsoleCommandListener
 

Public Member Functions

virtual ~FLinuxApplication ()
 
virtual void DestroyApplication () override
 
virtual bool Exec (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar) override
 
virtual void SetMessageHandler (const TSharedRef< class FGenericApplicationMessageHandler > &InMessageHandler) override
 
virtual void PollGameDeviceState (const float TimeDelta) override
 
virtual void PumpMessages (const float TimeDelta) override
 
virtual void ProcessDeferredEvents (const float TimeDelta) override
 
virtual TSharedRef< FGenericWindowMakeWindow () override
 
virtual void InitializeWindow (const TSharedRef< FGenericWindow > &Window, const TSharedRef< FGenericWindowDefinition > &InDefinition, const TSharedPtr< FGenericWindow > &InParent, const bool bShowImmediately) override
 
virtual void SetCapture (const TSharedPtr< FGenericWindow > &InWindow) override
 
virtual voidGetCapture (void) const override
 
virtual void SetHighPrecisionMouseMode (const bool Enable, const TSharedPtr< FGenericWindow > &InWindow) override
 
virtual bool IsUsingHighPrecisionMouseMode () const override
 
virtual bool IsGamepadAttached () const override
 
virtual FModifierKeysState GetModifierKeys () const override
 
virtual FPlatformRect GetWorkArea (const FPlatformRect &CurrentWindow) const override
 
virtual EWindowTransparency GetWindowTransparencySupport () const override
 
void AddPendingEvent (SDL_Event event)
 
void RemoveEventWindow (SDL_HWindow Window)
 
void RemoveRevertFocusWindow (SDL_HWindow HWnd)
 
void RaiseNotificationWindows (const TSharedPtr< FLinuxWindow > &ParentWindow)
 
void RemoveNotificationWindow (SDL_HWindow HWnd)
 
void CheckIfApplicatioNeedsDeactivation ()
 
EWindowZone::Type WindowHitTest (const TSharedPtr< FLinuxWindow > &window, int x, int y)
 
TSharedPtr< FLinuxWindowFindWindowBySDLWindow (SDL_Window *win)
 
virtual bool IsCursorDirectlyOverSlateWindow () const override
 
virtual TSharedPtr< FGenericWindowGetWindowUnderCursor () override
 
bool IsForeground ()
 
void SaveWindowPropertiesForEventLoop (void)
 
void ClearWindowPropertiesAfterEventLoop (void)
 
void GetWindowPropertiesInEventLoop (SDL_HWindow NativeWindow, FWindowProperties &Properties)
 
virtual bool IsMouseAttached () const override
 
TSharedPtr< FLinuxWindowGetCurrentActiveWindow ()
 
TSharedPtr< FLinuxWindowGetCurrentFocusWindow ()
 
virtual IInputInterfaceGetInputInterface () override
 
virtual void SetForceFeedbackChannelValue (int32 ControllerId, FForceFeedbackChannelType ChannelType, float Value) override
 
virtual void SetForceFeedbackChannelValues (int32 ControllerId, const FForceFeedbackValues &Values) override
 
virtual void SetHapticFeedbackValues (int32 ControllerId, int32 Hand, const FHapticFeedbackValues &Values) override
 
virtual void SetLightColor (int32 ControllerId, FColor Color) override
 
virtual void ResetLightColor (int32 ControllerId) override
 
- Public Member Functions inherited from GenericApplication
 DECLARE_MULTICAST_DELEGATE_OneParam (FOnConsoleCommandAdded, const FString &)
 
APPLICATIONCORE_API GenericApplication (const TSharedPtr< ICursor > &InCursor)
 
virtual APPLICATIONCORE_API ~GenericApplication ()
 
TSharedRef< FGenericApplicationMessageHandlerGetMessageHandler ()
 
virtual void Tick (const float TimeDelta)
 
virtual bool IsMinimized () const
 
virtual bool IsUsingTrackpad () const
 
virtual void RegisterConsoleCommandListener (const FOnConsoleCommandListener &InListener)
 
virtual void AddPendingConsoleCommand (const FString &InCommand)
 
virtual bool TryCalculatePopupWindowPosition (const FPlatformRect &InAnchor, const FVector2D &InSize, const FVector2D &ProposedPlacement, const EPopUpOrientation::Type Orientation, FVector2D *const CalculatedPopUpPosition) const
 
 DECLARE_EVENT_OneParam (GenericApplication, FOnDisplayMetricsChanged, const FDisplayMetrics &)
 
FOnDisplayMetricsChangedOnDisplayMetricsChanged ()
 
virtual void GetInitialDisplayMetrics (FDisplayMetrics &OutDisplayMetrics) const
 
 DECLARE_EVENT_OneParam (FSlateApplication, FVirtualKeyboardShownEvent, FPlatformRect)
 
FVirtualKeyboardShownEventOnVirtualKeyboardShown ()
 
 DECLARE_EVENT (FSlateApplication, FVirtualKeyboardHiddenEvent)
 
FVirtualKeyboardHiddenEventOnVirtualKeyboardHidden ()
 
 DECLARE_EVENT (FSlateApplication, FOnClipboardContentChanged)
 
FOnClipboardContentChangedOnClipboardContentChanged ()
 
virtual EWindowTitleAlignment::Type GetWindowTitleAlignment () const
 
virtual ITextInputMethodSystemGetTextInputMethodSystem ()
 
virtual void SendAnalytics (IAnalyticsProvider *Provider)
 
virtual bool SupportsSystemHelp () const
 
virtual void ShowSystemHelp ()
 
virtual bool ApplicationLicenseValid (FPlatformUserId PlatformUser=PLATFORMUSERID_NONE)
 
virtual bool IsAllowedToRender () const
 
virtual void FinishedInputThisFrame ()
 
- Public Member Functions inherited from FSelfRegisteringExec
CORE_API FSelfRegisteringExec ()
 
virtual CORE_API ~FSelfRegisteringExec ()
 
- Public Member Functions inherited from FExec
virtual CORE_API ~FExec ()
 
- Public Member Functions inherited from IInputInterface
virtual ~IInputInterface ()
 
virtual void SetDeviceProperty (int32 ControllerId, const FInputDeviceProperty *Property)
 

Static Public Member Functions

static FLinuxApplicationCreateLinuxApplication ()
 
- Static Public Member Functions inherited from FSelfRegisteringExec
static CORE_API bool StaticExec (UWorld *Inworld, const TCHAR *Cmd, FOutputDevice &Ar)
 

Additional Inherited Members

- Public Attributes inherited from GenericApplication
const TSharedPtr< ICursorCursor
 
- Protected Member Functions inherited from GenericApplication
void BroadcastDisplayMetricsChanged (const FDisplayMetrics &InMetrics)
 
- Protected Member Functions inherited from FExec
virtual bool Exec_Runtime (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
virtual bool Exec_Dev (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
virtual bool Exec_Editor (UWorld *InWorld, const TCHAR *Cmd, FOutputDevice &Ar)
 
- Protected Attributes inherited from GenericApplication
TSharedRef< class FGenericApplicationMessageHandlerMessageHandler
 
FOnDisplayMetricsChanged OnDisplayMetricsChangedEvent
 
FVirtualKeyboardShownEvent VirtualKeyboardShownEvent
 
FVirtualKeyboardHiddenEvent VirtualKeyboardHiddenEvent
 
FOnClipboardContentChanged OnClipboardContentChangedEvent
 

Member Enumeration Documentation

◆ UserDefinedEvents

Enumerator
CheckForDeactivation 

Constructor & Destructor Documentation

◆ ~FLinuxApplication()

FLinuxApplication::~FLinuxApplication ( )
virtual

Member Function Documentation

◆ AddPendingEvent()

void FLinuxApplication::AddPendingEvent ( SDL_Event  event)

◆ CheckIfApplicatioNeedsDeactivation()

void FLinuxApplication::CheckIfApplicatioNeedsDeactivation ( )

◆ ClearWindowPropertiesAfterEventLoop()

void FLinuxApplication::ClearWindowPropertiesAfterEventLoop ( void  )

Clear out data saved in SaveWindowLocationsForEventLoop().

◆ CreateLinuxApplication()

FLinuxApplication * FLinuxApplication::CreateLinuxApplication ( )
static

◆ DestroyApplication()

void FLinuxApplication::DestroyApplication ( )
overridevirtual

Reimplemented from GenericApplication.

◆ Exec()

bool FLinuxApplication::Exec ( UWorld InWorld,
const TCHAR Cmd,
FOutputDevice Ar 
)
overridevirtual

Exec handler

Parameters
InWorldWorld context
CmdCommand to parse
ArOutput device to log to
Returns
true if command was handled, false otherwise

Reimplemented from FExec.

◆ FindWindowBySDLWindow()

TSharedPtr< FLinuxWindow > FLinuxApplication::FindWindowBySDLWindow ( SDL_Window win)

◆ GetCapture()

void * FLinuxApplication::GetCapture ( void  ) const
overridevirtual

Reimplemented from GenericApplication.

◆ GetCurrentActiveWindow()

TSharedPtr< FLinuxWindow > FLinuxApplication::GetCurrentActiveWindow ( )
inline

Returns the current active foreground window.

Returns
pointer to the window, if any

◆ GetCurrentFocusWindow()

TSharedPtr< FLinuxWindow > FLinuxApplication::GetCurrentFocusWindow ( )
inline

Returns the current active foreground window.

Returns
pointer to the window, if any

◆ GetInputInterface()

virtual IInputInterface * FLinuxApplication::GetInputInterface ( )
inlineoverridevirtual

Reimplemented from GenericApplication.

◆ GetModifierKeys()

FModifierKeysState FLinuxApplication::GetModifierKeys ( ) const
overridevirtual

Reimplemented from GenericApplication.

◆ GetWindowPropertiesInEventLoop()

void FLinuxApplication::GetWindowPropertiesInEventLoop ( SDL_HWindow  NativeWindow,
FWindowProperties Properties 
)

Get a window position inside the event loop. Fall back on SDL_GetWindowPosition if not present in the saved window locations.

Parameters
NativeWindowThe native SDL_HWindow to look up. This is a drop-in replacement for SDL_GetWindowPosition, so it uses the native window type.
WindowPropertieslink to properties structure

◆ GetWindowTransparencySupport()

virtual EWindowTransparency FLinuxApplication::GetWindowTransparencySupport ( ) const
inlineoverridevirtual

Reimplemented from GenericApplication.

◆ GetWindowUnderCursor()

TSharedPtr< FGenericWindow > FLinuxApplication::GetWindowUnderCursor ( )
overridevirtual
Returns
Native window under the mouse cursor.

Reimplemented from GenericApplication.

◆ GetWorkArea()

FPlatformRect FLinuxApplication::GetWorkArea ( const FPlatformRect CurrentWindow) const
overridevirtual

Reimplemented from GenericApplication.

◆ InitializeWindow()

void FLinuxApplication::InitializeWindow ( const TSharedRef< FGenericWindow > &  Window,
const TSharedRef< FGenericWindowDefinition > &  InDefinition,
const TSharedPtr< FGenericWindow > &  InParent,
const bool  bShowImmediately 
)
overridevirtual

Reimplemented from GenericApplication.

◆ IsCursorDirectlyOverSlateWindow()

bool FLinuxApplication::IsCursorDirectlyOverSlateWindow ( ) const
overridevirtual
Returns
true if the system cursor is currently directly over a slate window.

Reimplemented from GenericApplication.

◆ IsForeground()

bool FLinuxApplication::IsForeground ( )
inline

Returns true if this application is foreground

◆ IsGamepadAttached()

bool FLinuxApplication::IsGamepadAttached ( ) const
overridevirtual

Reimplemented from GenericApplication.

◆ IsMouseAttached()

bool FLinuxApplication::IsMouseAttached ( ) const
overridevirtual

Reimplemented from GenericApplication.

◆ IsUsingHighPrecisionMouseMode()

virtual bool FLinuxApplication::IsUsingHighPrecisionMouseMode ( ) const
inlineoverridevirtual

Reimplemented from GenericApplication.

◆ MakeWindow()

TSharedRef< FGenericWindow > FLinuxApplication::MakeWindow ( )
overridevirtual

Reimplemented from GenericApplication.

◆ PollGameDeviceState()

void FLinuxApplication::PollGameDeviceState ( const float  TimeDelta)
overridevirtual

Reimplemented from GenericApplication.

◆ ProcessDeferredEvents()

void FLinuxApplication::ProcessDeferredEvents ( const float  TimeDelta)
overridevirtual

Reimplemented from GenericApplication.

◆ PumpMessages()

void FLinuxApplication::PumpMessages ( const float  TimeDelta)
overridevirtual

Reimplemented from GenericApplication.

◆ RaiseNotificationWindows()

void FLinuxApplication::RaiseNotificationWindows ( const TSharedPtr< FLinuxWindow > &  ParentWindow)

◆ RemoveEventWindow()

void FLinuxApplication::RemoveEventWindow ( SDL_HWindow  Window)

◆ RemoveNotificationWindow()

void FLinuxApplication::RemoveNotificationWindow ( SDL_HWindow  HWnd)

◆ RemoveRevertFocusWindow()

void FLinuxApplication::RemoveRevertFocusWindow ( SDL_HWindow  HWnd)

◆ ResetLightColor()

virtual void FLinuxApplication::ResetLightColor ( int32  ControllerId)
inlineoverridevirtual

Implements IInputInterface.

◆ SaveWindowPropertiesForEventLoop()

void FLinuxApplication::SaveWindowPropertiesForEventLoop ( void  )

Windows can move during an event loop (like in FLinuxPlatformMisc::PumpMessages(), but SDL queues many events up before any windows move. This can lead to the screen-space position of the mouse cursor being calculated incorrectly with the old event data and new window location data. Use this to save the window locations for use during the loop.

◆ SetCapture()

void FLinuxApplication::SetCapture ( const TSharedPtr< FGenericWindow > &  InWindow)
overridevirtual

Reimplemented from GenericApplication.

◆ SetForceFeedbackChannelValue()

void FLinuxApplication::SetForceFeedbackChannelValue ( int32  ControllerId,
FForceFeedbackChannelType  ChannelType,
float  Value 
)
overridevirtual

Sets the strength/speed of the given channel for the given controller id. NOTE: If the channel is not supported, the call will silently fail

Parameters
ControllerIdthe id of the controller whose value is to be set
ChannelTypethe type of channel whose value should be set
Valuestrength or speed of feedback, 0.0f to 1.0f. 0.0f will disable

Implements IInputInterface.

◆ SetForceFeedbackChannelValues()

void FLinuxApplication::SetForceFeedbackChannelValues ( int32  ControllerId,
const FForceFeedbackValues Values 
)
overridevirtual

Sets the strength/speed of all the channels for the given controller id. NOTE: Unsupported channels are silently ignored

Parameters
ControllerIdthe id of the controller whose value is to be set
FForceFeedbackChannelValuesstrength or speed of feedback for all channels

Implements IInputInterface.

◆ SetHapticFeedbackValues()

void FLinuxApplication::SetHapticFeedbackValues ( int32  ControllerId,
int32  Hand,
const FHapticFeedbackValues Values 
)
overridevirtual

Sets the frequency and amplitude of haptic feedback channels for a given controller id. Some devices / platforms may support just haptics, or just force feedback.

Parameters
ControllerIdID of the controller to issue haptic feedback for
HandIdWhich hand id (e.g. left or right) to issue the feedback for. These usually correspond to EControllerHands
ValuesFrequency and amplitude to haptics at

Reimplemented from IInputInterface.

◆ SetHighPrecisionMouseMode()

void FLinuxApplication::SetHighPrecisionMouseMode ( const bool  Enable,
const TSharedPtr< FGenericWindow > &  InWindow 
)
overridevirtual

Reimplemented from GenericApplication.

◆ SetLightColor()

virtual void FLinuxApplication::SetLightColor ( int32  ControllerId,
FColor  Color 
)
inlineoverridevirtual

Implements IInputInterface.

◆ SetMessageHandler()

void FLinuxApplication::SetMessageHandler ( const TSharedRef< class FGenericApplicationMessageHandler > &  InMessageHandler)
overridevirtual

Reimplemented from GenericApplication.

◆ WindowHitTest()

EWindowZone::Type FLinuxApplication::WindowHitTest ( const TSharedPtr< FLinuxWindow > &  window,
int  x,
int  y 
)

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