8#include <android/native_window.h>
10#include <android/native_window_jni.h>
87 ProtectedObj =
obj.ProtectedObj;
88 bWriteAccess =
obj.bWriteAccess;
89 obj.ProtectedObj =
nullptr;
97 ProtectedObj->ANativeHandleMutex.
Lock();
101 ProtectedObj->ANativeHandleMutex.
LockShared();
111 ProtectedObj->ANativeHandleMutex.
Unlock();
129 ProtectedObj->PreviousANativeHandle = ProtectedObj->CurrentANativeHandle;
#define check(expr)
Definition AssertionMacros.h:314
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
UE_INTRINSIC_CAST UE_REWRITE constexpr std::remove_reference_t< T > && MoveTemp(T &&Obj) noexcept
Definition UnrealTemplate.h:520
FRWLock Lock
Definition UnversionedPropertySerialization.cpp:921
Definition AndroidApplication.h:30
Definition AndroidWindow.h:213
FPendingWindowAccessor()
Definition AndroidWindow.h:219
~FPendingWindowAccessor()
Definition AndroidWindow.h:220
void SetANativeWindow(ANativeWindow *ANativeHandle)
Definition AndroidWindow.h:222
ANativeWindow * GetANativeWindow() const
Definition AndroidWindow.h:223
Definition AndroidWindow.h:171
TOptional< FAndroidWindow::FNativeAccessor > FindFromANativeWindow(bool bWriteAccess, bool bSearchPrevious, const void *SearchANativeHandle)
Definition AndroidWindow.h:195
TOptional< FAndroidWindow::FNativeAccessor > GetMainWindowAsNativeAccessor(bool bWriteAccess)
Definition AndroidWindow.h:182
static FPendingWindowAccessor GetPendingWindowAccessor()
Definition AndroidWindow.h:226
static FAndroidWindowManager & Get()
Definition AndroidWindow.h:176
Definition AndroidWindow.h:80
ANativeWindow * GetPreviousANativeWindow() const
Definition AndroidWindow.h:133
FAndroidWindow * Get()
Definition AndroidWindow.h:120
ANativeWindow * GetANativeWindow() const
Definition AndroidWindow.h:132
FNativeAccessor(const FNativeAccessor &)=delete
~FNativeAccessor()
Definition AndroidWindow.h:105
void SetANativeWindow(ANativeWindow *ANativeHandle)
Definition AndroidWindow.h:126
const FAndroidWindow * Get() const
Definition AndroidWindow.h:121
FAndroidWindow * operator->()
Definition AndroidWindow.h:123
FNativeAccessor(bool bWriteAccessIn, FAndroidWindow *ProtectedObjIn)
Definition AndroidWindow.h:93
FNativeAccessor(FNativeAccessor &&obj)
Definition AndroidWindow.h:85
Definition AndroidWindow.h:22
static APPLICATIONCORE_API FVector4 GetSafezone(bool bPortrait)
Definition AndroidWindow.cpp:217
static APPLICATIONCORE_API void EventManagerUpdateWindowDimensions(int32 Width, int32 Height)
Definition AndroidWindow.cpp:377
static APPLICATIONCORE_API void SetHardwareWindow_EventThread(void *InWindow)
Definition AndroidWindow.cpp:295
static APPLICATIONCORE_API void CalculateSurfaceSize(int32_t &SurfaceWidth, int32_t &SurfaceHeight, bool bUseEventThreadWindow=false)
Definition AndroidWindow.cpp:648
virtual EWindowMode::Type GetWindowMode() const override
Definition AndroidWindow.h:143
virtual APPLICATIONCORE_API void SetOSWindowHandle(void *)
Definition AndroidWindow.cpp:154
static APPLICATIONCORE_API void AcquireWindowRef(ANativeWindow *InWindow)
Definition AndroidWindow.cpp:232
static APPLICATIONCORE_API bool OnWindowOrientationChanged(EDeviceScreenOrientation DeviceScreenOrientation)
Definition AndroidWindow.cpp:707
static APPLICATIONCORE_API int32 GetDepthBufferPreference()
Definition AndroidWindow.cpp:222
virtual APPLICATIONCORE_API bool GetFullScreenInfo(int32 &X, int32 &Y, int32 &Width, int32 &Height) const override
Definition AndroidWindow.cpp:141
static APPLICATIONCORE_API void SetWindowDimensions_EventThread(ANativeWindow *DimensionWindow)
Definition AndroidWindow.cpp:356
static APPLICATIONCORE_API void ReleaseWindowRef(ANativeWindow *InWindow)
Definition AndroidWindow.cpp:272
static APPLICATIONCORE_API bool IsPortraitOrientation()
Definition AndroidWindow.cpp:212
APPLICATIONCORE_API ~FAndroidWindow()
Definition AndroidWindow.cpp:103
virtual void * GetOSWindowHandle() const override
Definition AndroidWindow.h:35
static APPLICATIONCORE_API FPlatformRect GetScreenRect(bool bUseEventThreadWindow=false)
Definition AndroidWindow.cpp:537
FNativeAccessor GetANativeAccessor(bool bWriteAccess)
Definition AndroidWindow.h:136
virtual APPLICATIONCORE_API void Destroy() override
Definition AndroidWindow.cpp:130
static APPLICATIONCORE_API TSharedRef< FAndroidWindow > Make()
Definition AndroidWindow.cpp:108
virtual void SetWindowMode(EWindowMode::Type InNewWindowMode)
Definition AndroidWindow.h:77
APPLICATIONCORE_API bool GetNativeWindowResolution(int32_t &OutWidth, int32_t &OutHeight) const
Definition AndroidWindow.cpp:404
static APPLICATIONCORE_API void * WaitForHardwareWindow()
Definition AndroidWindow.cpp:426
static APPLICATIONCORE_API void InvalidateCachedScreenRect()
Definition AndroidWindow.cpp:227
static APPLICATIONCORE_API void * GetHardwareWindow_EventThread()
Definition AndroidWindow.cpp:314
Definition GenericWindow.h:94
Definition SharedPointer.h:1640
Definition SharedPointer.h:692
Definition SharedPointer.h:153
Definition SharedMutex.h:22
void LockShared()
Definition SharedMutex.h:83
void Lock()
Definition SharedMutex.h:42
void Unlock()
Definition SharedMutex.h:52
void UnlockShared()
Definition SharedMutex.h:95
Definition UniqueLock.h:20
Type
Definition GenericWindow.h:17
@ Fullscreen
Definition GenericWindow.h:19
Definition MinimalWindowsApi.h:62
Definition Optional.h:131