UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
WindowsApplication.h
Go to the documentation of this file.
1// Copyright Epic Games, Inc. All Rights Reserved.
2
3#pragma once
4
5#include "CoreTypes.h"
6
7#include "Math/Color.h"
11#include "Tasks/Task.h"
13 #include <Ole2.h>
14 #include <oleidl.h>
15 #include <ShObjIdl.h>
18
19class FGenericWindow;
20enum class EWindowTransparency;
25class IModularFeature;
26
28
29class FWindowsWindow;
31
33
35{
36 enum Type
37 {
38 //Stops displaying progress and returns the button to its normal state.
40
41 //The progress indicator does not grow in size, but cycles repeatedly along the
42 //length of the task bar button. This indicates activity without specifying what
43 //proportion of the progress is complete. Progress is taking place, but there is
44 //no prediction as to how long the operation will take.
46
47 //The progress indicator grows in size from left to right in proportion to the
48 //estimated amount of the operation completed. This is a determinate progress
49 //indicator; a prediction is being made as to the duration of the operation.
50 Normal = 0x2,
51
52 //The progress indicator turns red to show that an error has occurred in one of
53 //the windows that is broadcasting progress. This is a determinate state. If the
54 //progress indicator is in the indeterminate state, it switches to a red determinate
55 //display of a generic percentage not indicative of actual progress.
56 Error = 0x4,
57
58 //The progress indicator turns yellow to show that progress is currently stopped in
59 //one of the windows but can be resumed by the user. No error condition exists and
60 //nothing is preventing the progress from continuing. This is a determinate state.
61 //If the progress indicator is in the indeterminate state, it switches to a yellow
62 //determinate display of a generic percentage not indicative of actual progress.
63 Paused = 0x8,
64 };
65}
66
67
75{
76public:
77
84
92 APPLICATIONCORE_API void SetOverlayIcon(HWND WindowHandle, HICON Icon, FText Description);
93
101
109 APPLICATIONCORE_API void SetProgressValue(HWND WindowHandle, uint64 Current, uint64 Total);
110
113
114private:
115
117 FTaskbarList();
118
120 void Initialize();
121
122private:
123
125 ITaskbarList3* TaskBarList3;
126};
127
128
160
161
172
173
191
192
194{
195private:
196
197 // Private constructor. Use the factory functions below.
199 : HWnd(NULL)
200 , KeyState(0)
201 {
202 CursorPosition.x = 0;
203 CursorPosition.y = 0;
204 }
205
206public:
207
209 {
212 NewOperation.HWnd = InHwnd;
213 NewOperation.OLEData = InOLEData;
214 NewOperation.KeyState = InKeyState;
215 NewOperation.CursorPosition = InCursorPosition;
216 return NewOperation;
217 }
218
220 {
223 NewOperation.HWnd = InHwnd;
224 NewOperation.KeyState = InKeyState;
225 NewOperation.CursorPosition = InCursorPosition;
226 return NewOperation;
227 }
228
230 {
233 NewOperation.HWnd = InHwnd;
234 return NewOperation;
235 }
236
238 {
241 NewOperation.HWnd = InHwnd;
242 NewOperation.OLEData = InOLEData;
243 NewOperation.KeyState = InKeyState;
244 NewOperation.CursorPosition = InCursorPosition;
245 return NewOperation;
246 }
247
249
250 HWND HWnd;
252 ::DWORD KeyState;
254};
255
256//disable warnings from overriding the deprecated force feedback.
257//calls to the deprecated function will still generate warnings.
259
264{
265public:
266
277 virtual bool ProcessMessage(HWND hwnd, uint32 msg, WPARAM wParam, LPARAM lParam, int32& OutResult) = 0;
278};
279
280
285 : public GenericApplication
286 , public IInputInterface
287{
288public:
289
297 static APPLICATIONCORE_API FWindowsApplication* CreateWindowsApplication( const HINSTANCE InstanceHandle, const HICON IconHandle );
298
300 static void StaticPostPumpMessages();
301
303 void PostPumpMessages();
304
312
315
317 void ProcessWorkerInputs();
318
320 void CacheCursorInfo();
321
324
325public:
326
329
331
333 APPLICATIONCORE_API HRESULT OnOLEDragEnter( const HWND HWnd, const FDragDropOLEData& OLEData, ::DWORD KeyState, POINTL CursorPosition, ::DWORD *CursorEffect);
334
336 APPLICATIONCORE_API HRESULT OnOLEDragOver( const HWND HWnd, ::DWORD KeyState, POINTL CursorPosition, ::DWORD *CursorEffect);
337
339 APPLICATIONCORE_API HRESULT OnOLEDragOut( const HWND HWnd );
340
342 APPLICATIONCORE_API HRESULT OnOLEDrop( const HWND HWnd, const FDragDropOLEData& OLEData, ::DWORD KeyState, POINTL CursorPosition, ::DWORD *CursorEffect);
343
351
359
360public:
361
362 // GenericApplication overrides
363
365#if WITH_ACCESSIBILITY
367#endif
368 APPLICATIONCORE_API virtual void PollGameDeviceState( const float TimeDelta ) override;
369 APPLICATIONCORE_API virtual void PumpMessages( const float TimeDelta ) override;
370 APPLICATIONCORE_API virtual void ProcessDeferredEvents( const float TimeDelta ) override;
374 APPLICATIONCORE_API virtual void* GetCapture( void ) const override;
375 virtual bool IsMinimized() const override { return bMinimized; }
378 virtual bool IsUsingHighPrecisionMouseMode() const override { return bUsingHighPrecisionMouseInput; }
379 virtual bool IsMouseAttached() const override { return bIsMouseAttached; }
380 APPLICATIONCORE_API virtual bool IsGamepadAttached() const override;
382 APPLICATIONCORE_API virtual bool IsCursorDirectlyOverSlateWindow() const override;
385 static void StaticForceUpdateAsyncCursor();
391 APPLICATIONCORE_API virtual void DestroyApplication() override;
392
394 {
395 return this;
396 }
397
399 {
400 return TextInputMethodSystem.Get();
401 }
402
404
405 APPLICATIONCORE_API virtual void FinishedInputThisFrame() override;
406public:
407
408 // IInputInterface overrides
409
410 APPLICATIONCORE_API virtual void SetForceFeedbackChannelValue (int32 ControllerId, FForceFeedbackChannelType ChannelType, float Value) override;
411 APPLICATIONCORE_API virtual void SetForceFeedbackChannelValues(int32 ControllerId, const FForceFeedbackValues &Values) override;
412 APPLICATIONCORE_API virtual void SetHapticFeedbackValues(int32 ControllerId, int32 Hand, const FHapticFeedbackValues& Values) override;
413 virtual void SetLightColor(int32 ControllerId, FColor Color) override { }
414 virtual void ResetLightColor(int32 ControllerId) override { }
415 APPLICATIONCORE_API virtual void SetDeviceProperty(int32 ControllerId, const FInputDeviceProperty* Property) override;
416
417 // Touchpad Sensitivity
427 {
428 AllowAsynchronous, // This function may defer the system call that actually changes the setting in order to avoid blocking for a long time.
429 RequireBlocking // This function will not return until the system call returns.
430 };
434
441 {
442 SystemCallFailed = -2, // Indicates we are in a mode where restoration is desirable, but the system call failed. Most likely callers should do nothing.
443 RestorationNotNeeded = -1, // Indicates restoration is unnecessary (either the system setting was already MostSensitive, we can't change the setting, or the system is fully capable of restoring itself.)
444 TOUCHPAD_SENSITIVITY_LEVEL_MOST_SENSITIVE = 0x00000000, // These values one would restore with ::SystemParametersInfo(SPI_SETTOUCHPADPARAMETERS, ...
449 };
451
452protected:
453 friend LRESULT WindowsApplication_WndProc(HWND hwnd, uint32 msg, WPARAM wParam, LPARAM lParam);
454
457
460
463
466
469
471 APPLICATIONCORE_API FWindowsApplication( const HINSTANCE HInstance, const HICON IconHandle );
472
475
477
480
481private:
482
484 static APPLICATIONCORE_API bool RegisterClass( const HINSTANCE HInstance, const HICON HIcon );
485
487 static APPLICATIONCORE_API bool IsKeyboardInputMessage( uint32 msg );
488
490 static APPLICATIONCORE_API bool IsMouseInputMessage( uint32 msg );
491
493 static APPLICATIONCORE_API bool IsFakeMouseInputMessage(uint32 msg);
494
496 static APPLICATIONCORE_API bool IsInputMessage( uint32 msg );
497
499 APPLICATIONCORE_API void DeferMessage( TSharedPtr<FWindowsWindow>& NativeWindow, HWND InHWnd, uint32 InMessage, WPARAM InWParam, LPARAM InLParam, int32 MouseX = 0, int32 MouseY = 0, uint32 RawInputFlags = 0 );
500
502 APPLICATIONCORE_API void CheckForShiftUpEvents(const int32 KeyCode);
503
505 APPLICATIONCORE_API void ShutDownAfterError();
506
508 APPLICATIONCORE_API void AllowAccessibilityShortcutKeys(const bool bAllowKeys);
509
511 APPLICATIONCORE_API void QueryConnectedMice();
512
514 APPLICATIONCORE_API uint32 GetTouchIndexForID(int32 TouchID);
515
517 APPLICATIONCORE_API uint32 GetFirstFreeTouchIndex();
518
520 APPLICATIONCORE_API void UpdateAllModifierKeyStates();
521
522 APPLICATIONCORE_API FPlatformRect GetWorkAreaFromOS(const FPlatformRect& CurrentWindow) const;
523
525 void RegisterHighPrecisionMouseMode();
526
528 void UnregisterHighPrecisionMouseMode();
529
530 void OnInputDeviceModuleRegistered(const FName& Type, IModularFeature* ModularFeature);
531
532private:
533
534 static APPLICATIONCORE_API const FIntPoint MinimizedWindowPosition;
535
536 HINSTANCE InstanceHandle;
537
538 bool bMinimized;
539
540 bool bUsingHighPrecisionMouseInput;
541 bool bCachedUseWorkerThreadForRawInput;
542 HWND HighPrecisionMouseInputWindowHandle;
543 HWND CaptureWindowHandle;
544
545 UE::FEventCount AsyncCursorEventCount;
546 std::atomic<bool> bAsyncCursorTaskActive = false;
547 UE::Tasks::FTask AsyncCursorTask;
548 mutable FRWLock AsyncCursorRWLock;
549 BOOL bAsyncCursorPosValid{};
550 POINT AsyncCursorPos{};
551 HWND AsyncCursorWindowHandle = NULL;
552
553 bool bIsMouseAttached;
554
555 bool bForceActivateByMouse;
556
557 bool bForceNoGamepads;
558
559 bool bConsumeAltSpace;
560
561 TArray<FDeferredWindowsMessage> DeferredMessages;
562
563 TArray<FDeferredWindowsDragDropOperation> DeferredDragDropOperations;
564
566 TArray<IWindowsMessageHandler*> MessageHandlers;
567
569
571 TArray<TSharedPtr<class IInputDevice>> ExternalInputDevices;
572 bool bHasLoadedInputPlugins;
573
574 struct EModifierKey
575 {
576 enum Type
577 {
578 LeftShift, // VK_LSHIFT
579 RightShift, // VK_RSHIFT
580 LeftControl, // VK_LCONTROL
581 RightControl, // VK_RCONTROL
582 LeftAlt, // VK_LMENU
583 RightAlt, // VK_RMENU
584 CapsLock, // VK_CAPITAL
585 Count,
586 };
587 };
589 bool ModifierKeyState[EModifierKey::Count];
590
591 int32 bAllowedToDeferMessageProcessing;
592
593 FAutoConsoleVariableRef CVarDeferMessageProcessing;
594
596 bool bInModalSizeLoop;
597
598 FDisplayMetrics InitialDisplayMetrics;
599
600 TSharedPtr<FWindowsTextInputMethodSystem> TextInputMethodSystem;
601
602 TSharedPtr<FTaskbarList> TaskbarList;
603
604#if WITH_ACCESSIBILITY && UE_WINDOWS_USING_UIA
607#endif
608
609 // Accessibility shortcut keys
610 STICKYKEYS StartupStickyKeys;
611 TOGGLEKEYS StartupToggleKeys;
612 FILTERKEYS StartupFilterKeys;
613
614 struct TouchInfo
615 {
616 bool HasMoved;
617 FVector2D PreviousLocation;
618 TOptional<int32> TouchID;
619
620 TouchInfo()
621 : HasMoved(false)
622 , PreviousLocation(0.f, 0.f)
623 { }
624 };
626 TArray<TouchInfo> TouchInfoArray;
627
628 bool bSimulatingHighPrecisionMouseInputForRDP;
629
630 FIntPoint LastCursorPoint;
631 FIntPoint LastCursorPointPreWrap;
632 int32 NumPreWrapMsgsToRespect;
633 RECT ClipCursorRect;
634 DWORD CachedDragAndDropKeyState;
635
636 double RepeatTime[EMouseButtons::Invalid];
637};
638
639
641
#define NULL
Definition oodle2base.h:134
FPlatformTypes::int32 int32
A 32-bit signed integer.
Definition Platform.h:1125
FPlatformTypes::uint64 uint64
A 64-bit unsigned integer.
Definition Platform.h:1117
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
#define DECLARE_MULTICAST_DELEGATE_OneParam(DelegateName, Param1Type)
Definition DelegateCombinations.h:49
#define PRAGMA_ENABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:12
#define PRAGMA_DISABLE_DEPRECATION_WARNINGS
Definition GenericPlatformCompilerPreSetup.h:8
EWindowTransparency
Definition GenericWindowDefinition.h:35
FForceFeedbackChannelType
Definition IInputInterface.h:17
#define DECLARE_LOG_CATEGORY_EXTERN(CategoryName, DefaultVerbosity, CompileTimeVerbosity)
Definition LogMacros.h:361
uint8_t uint8
Definition binka_ue_file_header.h:8
uint32_t uint32
Definition binka_ue_file_header.h:6
Definition IConsoleManager.h:1580
Definition GenericApplicationMessageHandler.h:209
Definition GenericWindow.h:94
Definition GenericApplication.h:75
Definition NameTypes.h:617
Definition WindowsApplication.h:75
APPLICATIONCORE_API void SetProgressValue(HWND WindowHandle, uint64 Current, uint64 Total)
Definition WindowsApplication.cpp:4527
APPLICATIONCORE_API void SetProgressState(HWND WindowHandle, ETaskbarProgressState::Type State)
Definition WindowsApplication.cpp:4535
static APPLICATIONCORE_API TSharedRef< FTaskbarList > Create()
Definition WindowsApplication.cpp:4543
APPLICATIONCORE_API ~FTaskbarList()
Definition WindowsApplication.cpp:4509
APPLICATIONCORE_API void SetOverlayIcon(HWND WindowHandle, HICON Icon, FText Description)
Definition WindowsApplication.cpp:4519
Definition Text.h:385
Definition WindowsApplication.h:287
HHOOK LowLevelMouseFilterHook
Definition WindowsApplication.h:478
virtual void ResetLightColor(int32 ControllerId) override
Definition WindowsApplication.h:414
static bool StaticGetCursorPosition(POINT &OutSursorPos)
Definition WindowsApplication.cpp:1607
APPLICATIONCORE_API HRESULT OnOLEDragOver(const HWND HWnd, ::DWORD KeyState, POINTL CursorPosition, ::DWORD *CursorEffect)
Definition WindowsApplication.cpp:4329
friend LRESULT WindowsApplication_WndProc(HWND hwnd, uint32 msg, WPARAM wParam, LPARAM lParam)
Definition WindowsApplication.cpp:2138
static void StaticPostPumpMessages()
Definition WindowsApplication.cpp:4551
virtual APPLICATIONCORE_API void SetHapticFeedbackValues(int32 ControllerId, int32 Hand, const FHapticFeedbackValues &Values) override
Definition WindowsApplication.cpp:4239
EForceMaxTouchpadSensitivityAsyncBehavior
Definition WindowsApplication.h:427
virtual APPLICATIONCORE_API void SetMessageHandler(const TSharedRef< class FGenericApplicationMessageHandler > &InMessageHandler) override
Definition WindowsApplication.cpp:1516
static APPLICATIONCORE_API LRESULT CALLBACK HandleLowLevelMouseFilterHook(int nCode, WPARAM wParam, LPARAM lParam)
Definition WindowsApplication.cpp:4067
virtual APPLICATIONCORE_API void SetHighPrecisionMouseMode(const bool Enable, const TSharedPtr< FGenericWindow > &InWindow) override
Definition WindowsApplication.cpp:1668
void ProcessMouseButton(double CurrentTime, const TSharedPtr< FGenericWindow > &Window, USHORT ButtonFlags, USHORT DownFlag, USHORT UpFlag, EMouseButtons::Type MouseButton, FVector2D CursorPos)
Definition WindowsApplication.cpp:4791
virtual APPLICATIONCORE_API TSharedRef< FGenericWindow > MakeWindow() override
Definition WindowsApplication.cpp:1502
void UpdateHighPrecisionMouseMode()
Definition WindowsApplication.cpp:1759
APPLICATIONCORE_API bool SupportsForceMaxTouchpadSensitivity()
Definition WindowsApplication.cpp:1329
virtual APPLICATIONCORE_API bool IsGamepadAttached() const override
Definition WindowsApplication.cpp:1538
virtual APPLICATIONCORE_API void SetForceFeedbackChannelValues(int32 ControllerId, const FForceFeedbackValues &Values) override
Definition WindowsApplication.cpp:4220
virtual APPLICATIONCORE_API void AddExternalInputDevice(TSharedPtr< class IInputDevice > InputDevice)
Definition WindowsApplication.cpp:4270
virtual APPLICATIONCORE_API void AddMessageHandler(IWindowsMessageHandler &InMessageHandler)
Definition WindowsApplication.cpp:4393
virtual APPLICATIONCORE_API void RemoveMessageHandler(IWindowsMessageHandler &InMessageHandler)
Definition WindowsApplication.cpp:4399
virtual APPLICATIONCORE_API void * GetCapture(void) const override
Definition WindowsApplication.cpp:1663
virtual bool IsMinimized() const override
Definition WindowsApplication.h:375
APPLICATIONCORE_API HRESULT OnOLEDragOut(const HWND HWnd)
Definition WindowsApplication.cpp:4353
virtual APPLICATIONCORE_API EWindowTransparency GetWindowTransparencySupport() const override
Definition WindowsApplication.cpp:2125
virtual APPLICATIONCORE_API void GetInitialDisplayMetrics(FDisplayMetrics &OutDisplayMetrics) const override
Definition WindowsApplication.cpp:2099
APPLICATIONCORE_API void ApplyForceMaxTouchpadSensitivity()
Definition WindowsApplication.cpp:1334
APPLICATIONCORE_API void ProcessDeferredDragDropOperation(const FDeferredWindowsDragDropOperation &Op)
Definition WindowsApplication.cpp:3951
APPLICATIONCORE_API HRESULT OnOLEDragEnter(const HWND HWnd, const FDragDropOLEData &OLEData, ::DWORD KeyState, POINTL CursorPosition, ::DWORD *CursorEffect)
Definition WindowsApplication.cpp:4293
APPLICATIONCORE_API int32 ProcessMessage(HWND hwnd, uint32 msg, WPARAM wParam, LPARAM lParam)
Definition WindowsApplication.cpp:2150
void ProcessRawMouseInput(const RAWMOUSE &Mouse, RawMouseInputResult &OutResult)
Definition WindowsApplication.cpp:4566
void ProcessWorkerInputs()
Definition WindowsApplication.cpp:4685
APPLICATIONCORE_API HRESULT OnOLEDrop(const HWND HWnd, const FDragDropOLEData &OLEData, ::DWORD KeyState, POINTL CursorPosition, ::DWORD *CursorEffect)
Definition WindowsApplication.cpp:4367
APPLICATIONCORE_API EForceMaxTouchpadSensitivityRestorationValues GetForceMaxTouchpadSensitivityRestorationValue()
Definition WindowsApplication.cpp:1344
virtual APPLICATIONCORE_API void InitializeWindow(const TSharedRef< FGenericWindow > &Window, const TSharedRef< FGenericWindowDefinition > &InDefinition, const TSharedPtr< FGenericWindow > &InParent, const bool bShowImmediately) override
Definition WindowsApplication.cpp:1507
virtual ITextInputMethodSystem * GetTextInputMethodSystem() override
Definition WindowsApplication.h:398
virtual APPLICATIONCORE_API void ProcessDeferredEvents(const float TimeDelta) override
Definition WindowsApplication.cpp:4138
static void StaticForceUpdateAsyncCursor()
Definition WindowsApplication.cpp:1619
virtual APPLICATIONCORE_API void SetCapture(const TSharedPtr< FGenericWindow > &InWindow) override
Definition WindowsApplication.cpp:1645
virtual APPLICATIONCORE_API ~FWindowsApplication()
Definition WindowsApplication.cpp:1471
virtual APPLICATIONCORE_API void PollGameDeviceState(const float TimeDelta) override
Definition WindowsApplication.cpp:4170
virtual APPLICATIONCORE_API EWindowTitleAlignment::Type GetWindowTitleAlignment() const override
Definition WindowsApplication.cpp:2104
virtual IInputInterface * GetInputInterface() override
Definition WindowsApplication.h:393
APPLICATIONCORE_API TSharedPtr< FTaskbarList > GetTaskbarList()
Definition WindowsApplication.cpp:4283
APPLICATIONCORE_API int32 ProcessDeferredMessage(const FDeferredWindowsMessage &DeferredMessage)
Definition WindowsApplication.cpp:3119
void ForceUpdateAsyncCursor()
Definition WindowsApplication.cpp:1627
static APPLICATIONCORE_API FWindowsApplication * CreateWindowsApplication(const HINSTANCE InstanceHandle, const HICON IconHandle)
Definition WindowsApplication.cpp:1188
virtual APPLICATIONCORE_API bool IsCursorDirectlyOverSlateWindow() const override
Definition WindowsApplication.cpp:1593
APPLICATIONCORE_API void RemoveLowLevelMouseFilter()
Definition WindowsApplication.cpp:1359
bool bLowLevelMouseFilterIsApplied
Definition WindowsApplication.h:479
virtual APPLICATIONCORE_API void SetForceFeedbackChannelValue(int32 ControllerId, FForceFeedbackChannelType ChannelType, float Value) override
Definition WindowsApplication.cpp:4206
virtual APPLICATIONCORE_API void DestroyApplication() override
Definition WindowsApplication.cpp:1414
void CacheCursorInfo()
Definition WindowsApplication.cpp:4815
virtual APPLICATIONCORE_API FPlatformRect GetWorkArea(const FPlatformRect &CurrentWindow) const override
Definition WindowsApplication.cpp:1769
static APPLICATIONCORE_API LRESULT CALLBACK AppWndProc(HWND hwnd, uint32 msg, WPARAM wParam, LPARAM lParam)
Definition WindowsApplication.cpp:2145
virtual bool IsUsingHighPrecisionMouseMode() const override
Definition WindowsApplication.h:378
virtual APPLICATIONCORE_API FModifierKeysState GetModifierKeys() const override
Definition WindowsApplication.cpp:1556
EForceMaxTouchpadSensitivityRestorationValues
Definition WindowsApplication.h:441
virtual APPLICATIONCORE_API void SetDeviceProperty(int32 ControllerId, const FInputDeviceProperty *Property) override
Definition WindowsApplication.cpp:4256
virtual APPLICATIONCORE_API void FinishedInputThisFrame() override
Definition WindowsApplication.cpp:4278
void PostPumpMessages()
Definition WindowsApplication.cpp:4559
APPLICATIONCORE_API void DeferDragDropOperation(const FDeferredWindowsDragDropOperation &DeferredDragDropOperation)
Definition WindowsApplication.cpp:4288
APPLICATIONCORE_API void ApplyLowLevelMouseFilter()
Definition WindowsApplication.cpp:1349
virtual APPLICATIONCORE_API void PumpMessages(const float TimeDelta) override
Definition WindowsApplication.cpp:4124
bool GetCursorPosition(POINT &OutSursorPos)
Definition WindowsApplication.cpp:1612
APPLICATIONCORE_API void RemoveForceMaxTouchpadSensitivity()
Definition WindowsApplication.cpp:1339
virtual bool IsMouseAttached() const override
Definition WindowsApplication.h:379
virtual void SetLightColor(int32 ControllerId, FColor Color) override
Definition WindowsApplication.h:413
Definition WindowsWindow.h:26
Definition GenericApplication.h:437
Definition IInputInterface.h:309
Definition IModularFeature.h:12
Definition ITextInputMethodSystem.h:169
Definition WindowsApplication.h:264
virtual bool ProcessMessage(HWND hwnd, uint32 msg, WPARAM wParam, LPARAM lParam, int32 &OutResult)=0
Definition InputDevice.Build.cs:6
Definition Array.h:670
Definition SharedPointer.h:692
UE_FORCEINLINE_HINT ObjectType * Get() const
Definition SharedPointer.h:1065
Definition SharedPointer.h:153
Definition UniquePtr.h:107
Definition SharedPointer.h:1295
Definition CriticalSection.h:14
@ Count
Definition AudioMixerDevice.h:90
Definition GenericApplication.h:30
Type
Definition GenericApplicationMessageHandler.h:18
@ Invalid
Definition GenericApplicationMessageHandler.h:25
Type
Definition PawnAction_Move.h:11
Definition WindowsApplication.h:35
Type
Definition WindowsApplication.h:37
@ Indeterminate
Definition WindowsApplication.h:45
@ Paused
Definition WindowsApplication.h:63
@ Error
Definition WindowsApplication.h:56
@ Normal
Definition WindowsApplication.h:50
@ NoProgress
Definition WindowsApplication.h:39
Type
Definition GenericApplication.h:422
Definition WindowsApplication.h:163
Type
Definition WindowsApplication.h:165
@ DragLeave
Definition WindowsApplication.h:168
@ Drop
Definition WindowsApplication.h:169
@ DragOver
Definition WindowsApplication.h:167
@ DragEnter
Definition WindowsApplication.h:166
Definition MinimalWindowsApi.h:62
unsigned long DWORD
Definition MinimalWindowsApi.h:67
HWND__ * HWND
Definition MinimalWindowsApi.h:81
@ false
Definition radaudio_common.h:23
Definition Color.h:486
Definition WindowsApplication.h:194
static FDeferredWindowsDragDropOperation MakeDrop(HWND InHwnd, const FDragDropOLEData &InOLEData, ::DWORD InKeyState, POINTL InCursorPosition)
Definition WindowsApplication.h:237
EWindowsDragDropOperationType::Type OperationType
Definition WindowsApplication.h:248
static FDeferredWindowsDragDropOperation MakeDragOver(HWND InHwnd, ::DWORD InKeyState, POINTL InCursorPosition)
Definition WindowsApplication.h:219
POINTL CursorPosition
Definition WindowsApplication.h:253
FDragDropOLEData OLEData
Definition WindowsApplication.h:251
static FDeferredWindowsDragDropOperation MakeDragLeave(HWND InHwnd)
Definition WindowsApplication.h:229
::DWORD KeyState
Definition WindowsApplication.h:252
HWND HWnd
Definition WindowsApplication.h:250
static FDeferredWindowsDragDropOperation MakeDragEnter(HWND InHwnd, const FDragDropOLEData &InOLEData, ::DWORD InKeyState, POINTL InCursorPosition)
Definition WindowsApplication.h:208
Definition WindowsApplication.h:130
WPARAM wParam
Definition WindowsApplication.h:152
int32 X
Definition WindowsApplication.h:156
int32 Y
Definition WindowsApplication.h:157
uint32 Message
Definition WindowsApplication.h:149
uint32 RawInputFlags
Definition WindowsApplication.h:158
LPARAM lParam
Definition WindowsApplication.h:153
FDeferredWindowsMessage(const TSharedPtr< FWindowsWindow > &InNativeWindow, HWND InHWnd, uint32 InMessage, WPARAM InWParam, LPARAM InLParam, int32 InX=0, int32 InY=0, uint32 InRawInputFlags=0)
Definition WindowsApplication.h:131
TWeakPtr< FWindowsWindow > NativeWindow
Definition WindowsApplication.h:143
HWND hWND
Definition WindowsApplication.h:146
Definition GenericApplication.h:357
Definition WindowsApplication.h:175
uint8 Type
Definition WindowsApplication.h:189
EWindowsOLEDataType
Definition WindowsApplication.h:177
@ Files
Definition WindowsApplication.h:180
@ Text
Definition WindowsApplication.h:179
@ None
Definition WindowsApplication.h:178
TArray< FString > OperationFilenames
Definition WindowsApplication.h:188
FDragDropOLEData()
Definition WindowsApplication.h:183
FString OperationText
Definition WindowsApplication.h:187
Definition IInputInterface.h:26
Definition IInputInterface.h:70
Definition IInputInterface.h:120
Definition GenericApplication.h:320
Definition WindowsApplication.h:306
bool bIsAbsoluteInput
Definition WindowsApplication.h:307
bool bSimulateRelativeMovement
Definition WindowsApplication.h:308
int32 DeltaX
Definition WindowsApplication.h:309
int32 DeltaY
Definition WindowsApplication.h:310
Definition Optional.h:131
Definition IntPoint.h:25
Definition AndroidSystemIncludes.h:36