Commit Graph

159 Commits

Author SHA1 Message Date
marc audy
6553e6cd0a Remove as much C++ deprecation as possible up to 4.17 (along with a few scattered removals from beyond)
#preflight 61eefc77ba69a4fdb220bf23

#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 18712765 in //UE5/Release-5.0/... via CL 18712784 via CL 18713147
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18713191 by marc audy in ue5-main branch]
2022-01-24 15:07:48 -05:00
axel riffard
a5f7151d7e Unshelved from pending changelist '18530545':
Release the viewcontroller holding the splashcreen storyboard when it's no longer displayer.
# fyi wei.liu
#rb jack.porter
#jira UE-137601
#preflight 61dff0b2a11335e9c4aa263c

#ROBOMERGE-AUTHOR: axel.riffard
#ROBOMERGE-SOURCE: CL 18594779 in //UE5/Release-5.0/... via CL 18594794 via CL 18594803
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Test -> Main) (v899-18417669)

[CL 18596612 by axel riffard in ue5-main branch]
2022-01-13 10:05:36 -05:00
Leon Huang
109e2cd26d Introduced screen reader navigation policies. This allows the screen reader to navigate around UI elements on the screen separate from regular Slate navigation.
- Introduced IScreenReaderNavigationPolicy. This is an interface class that helps the screen reader navigate to the appropriate target accessible widget.
- Introduced FScreenReaderDefaultNavigationPolicy. This is a policy that all FScreenReaderUsers have by default. It helps the screen reader user find target accessible widgets that are enabled and can be focused on.
- Introduced focus navigation functions to FScreenReaderUser. This is the means clients can control and shift accessible focus for FScreenReaderUsers.
- IAccessibleWidget can now retrieve the logical next and previous widget in the accessible widget hierarchy. This functionality is similar to that of mobile screen readers like Voiceover and Android Talkback which allow users to navigate around the UI hierarchy with left and right swipes.
- IAccessibleWidget can now search for a target widget from a source widget based on a search criteria. This is useful for searching for widgets by characteristics (such as enabled state, widget type etc).
- Fixed a small bug in accessible focus where an accessible widget with application focus cannot receive accessible focus again and have its contents announced to the end user.
#rb: Prajwal.Manjunath
#jira: UE-130926
#preflight: 61baf981440d71c977b3089a

[CL 18477319 by Leon Huang in ue5-main branch]
2021-12-16 13:57:14 -05:00
Leon Huang
cbb0f379be Generic Accessible Interfaces refactor to support multiple users and focuses.
- Moved FAccessibleEventArgs out of FGenericAccessibleMessageHandler to avoid the need to include GenericAccessibleInterfaces.h in header files where all
they really need is a forward declaration of the struct.
- Removed instances of FGenericAccessibleMessageHandler::FAccessibleEventArgs to FAccessibleEventArgs.

- Updated API for IAccessibleWidget and IAccessibleWindow that deal with getting and setting focus to also take a user index parameter. This facilitates multiple accessible users for the same application.
-Updated platform files that leverage the old IAccessibleWidget and IAccessibleWindow focus API

- Introduced FGenericAccessibleUser and FGenericAccessibleUserRegistry to GenericAccessibleInterfaces.h. An FGenericAccessibleUser is meant to be analogous to FSlateUser that keeps track of hardware users' focus. An FGenericAccessibleUserRegistry is a registry of FGenericAccessibleUsers. These interfaces are meant to insulate FGenericAccessibleMessageHandler from storing and tracking
focus etc when that should be an implementation detail by other modules.
- Refactored how FSlateCoreAccessibleWidgets set focus in the application. Accessible focus is now unified to a single code path that starts from FSlateAccessibleMessageHandler. Requests to shift accessible focus should be done by raising a Slate accessible event or through IAccessibleWidget::SetUserFocus()
- Introduced finer grain querying of focus capabilities for an IAccessibleWidget. Users can now check if an AccessibleWidget supports regular focus (keyboard/gamepad), if it supports accessible focus and if the widget can currently accept regular or accessible focus.
-Updated platforms to use the new FGenericAccessibleUser and FGenericAccessibleUserRegistry ApI to update and retrieve user focus.

#preflight: 61af2481813adc3fbb2ca7d5

[CL 18396441 by Leon Huang in ue5-main branch]
2021-12-07 12:50:45 -05:00
jeff fisher
a3748e48bc OpenXR related features and fixes.
-Adds support for getting velocity and accelleration through GetControllerTransformForTime.
-Adds mechanism for using openxr chain structs which are defined in and consumed by an extension plugin.
-Support for defining a swapchain and renderbridge in an extension plugin.
-Some OpenXR fixes related to runtimes not supplying tracking data of various types.  Basically if the data isn't being provided we should not copy it out because it might be full of nonsense.  Also we would generally rather preserve our last cached position than overwrite with zero/identity.
-Moving OpenXRPlatformRHI.h OpenXRHMD_RenderBridge.h and _Swapchain.h back to private folder.
-Previously one could not run the same haptic effect on two devices simultaneously and have it behave correctly because most of the per-effect-play data for each effect was shared by all controllers.  This refactors so that the necessary runtime data is per controller and the constant bulk data is shared by all controllers.
-Adding infrastructure for playing haptics on a VR HMD.
-Refactored haptic data resampling into the oculus plugin because that is plugin specific.
swarm reviews review-18220544 and review-18220542
#rb Robert.Srinivasiah, Jules.Blok, Steve.Smith

#ROBOMERGE-AUTHOR: jeff.fisher
#ROBOMERGE-SOURCE: CL 18271123 in //UE5/Release-5.0/... via CL 18271142
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18271147 by jeff fisher in ue5-release-engine-test branch]
2021-11-23 11:41:31 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
leon huang
2a30763929 Refactoring FGenericAccessibleMessageHandler to raise accessible events that include user Id and additional arguments. This is to stabilize the accessibility API and allow more information to be passed
around for modules that require more accessibility information such as User/Controller Id.
#rnx
#rb: Patrick.Boutot
#preflight: 617b17e05aecf4000120a61a

#ROBOMERGE-AUTHOR: leon.huang
#ROBOMERGE-SOURCE: CL 17974834 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v885-17909292)

[CL 17974837 by leon huang in ue5-release-engine-test branch]
2021-10-29 00:24:02 -04:00
aurel cordonnier
a6e741e007 Merge from Release-Engine-Staging @ 17915896 to Release-Engine-Test
This represents UE4/Main @17911760, Release-5.0 @17915875 and Dev-PerfTest @17914035

[CL 17918595 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-25 20:05:28 -04:00
ben zeigler
7c70bdebb8 #jira UE-125298 First set changes for distinguishing between platform user id and controller/input id
Change FPlatformUserId into a proper struct with an internal id that will be allocated by the platform
Converting int->FPlatformUserId is currently deprecated, but the other direction is not deprecated until the online/input code can be converted
GenericApplicaitonMessageHandler will convert back and forth between controller Id and FPlatformUserId as needed
Add support for platform user id to LocalPlayer, by default it is synchronized with ControllerId
#rb david.harvey, ben.hoffman

#ROBOMERGE-AUTHOR: ben.zeigler
#ROBOMERGE-SOURCE: CL 17597808 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v871-17566257)

[CL 17597827 by ben zeigler in ue5-release-engine-test branch]
2021-09-22 13:39:56 -04:00
leon huang
eb4aa925db Introduced UE_WINDOWS_USING_UIA macro to facilitate Windows accessibility only if
the Windows UIA dll is used.
#rnx
#rb: David.Harvey
#preflight: 614470ce81695600012d14f9
[FYI] Jason.Stasik

#ROBOMERGE-AUTHOR: leon.huang
#ROBOMERGE-SOURCE: CL 17558697 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17558711 by leon huang in ue5-release-engine-test branch]
2021-09-17 17:27:19 -04:00
geoff evans
b353e75c60 FApp::HasFocus() API to unify checking focus state
This is a defensive change to more uniformly gate conditions of various pathways that want to "nice" CPU consumption when the application is not the foreground application (doesn't "Have Focus"). In benchmarking scenarios we don't want a focus-grabbing application to cause change in behavior while taking performance measurements. This could be in local workstation benchmarking where other foreground apps will naturally come to the front or in data center build where antics that might otherwise be completely unknowable could impact benchmark measurements.

This change was formulated after finding some "nice" CPU conditionals that were instrumented, but not all of them are. This change aims to prevent having to instrument, profile, and mitigate each condition separately.

#rnx
#jira none
#rb francis.hurteau, brandon.schaefer
#preflight 611ec9248ff55400018d5018

#ROBOMERGE-AUTHOR: geoff.evans
#ROBOMERGE-SOURCE: CL 17463345 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v870-17433530)

[CL 17463757 by geoff evans in ue5-release-engine-test branch]
2021-09-08 16:59:42 -04:00
rolando caloca
f6cd88c157 UE5 - Remove platform
#rb Steve.Smith
[FYI] Jules.Blok, Ryan.Durand, Ben.Marsh

#ROBOMERGE-SOURCE: CL 17295935 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v861-17282326)

[CL 17295945 by rolando caloca in ue5-release-engine-test branch]
2021-08-24 19:28:38 -04:00
richard wallis
5c465f892c Fix for crash in FMacApplication::FindScreenByCocoaPosition(). FindScreenByCocoaPosition/FindScreenBySlatePosition can be accessed externally from any thread. Mouse move (and other event) updates in the Engine Game Thread were causing a race condition with an external plugin Main Thread event processing. Update FMacScreen references to ESPMode::ThreadSafe and use C++ references where is makes sense - even though UE5 has now since defaulted to thread safe - still changing this just in case it goes back to non thread safe and we want to be explicit about it in the mac screen handling.
#jira UE-121896
#rb will.damon

#ROBOMERGE-SOURCE: CL 17247660 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v855-17104924)

[CL 17247664 by richard wallis in ue5-release-engine-test branch]
2021-08-20 10:41:32 -04:00
aurel cordonnier
dc4bf61540 Merge from Release-Engine-Staging @ 17030559 to Release-Engine-Test
This represents UE4/Main @ 17030256 and Dev-PerfTest @ 17030553

[CL 17031509 by aurel cordonnier in ue5-release-engine-test branch]
2021-08-03 11:56:47 -04:00
leon huang
28149cf98e Introduced the screen reader and Slate screen reader plugins for Windows. Provides basic screen reader
functionality for Slate where focused widgets are announced to the user when the screen reader is active.
The screen reader plugin sets up the screen reading framework and the Slate screen reader plugin provides concrete implementations of provided interfaces and base classes.
#jira: UETOOL-1493
#rb: patrick.boutot

#ROBOMERGE-SOURCE: CL 16600597 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v828-16531559)

[CL 16600600 by leon huang in ue5-release-engine-test branch]
2021-06-09 00:08:38 -04:00
aurel cordonnier
25a11deeac Merge from Release-Engine-Staging @ 16579919
This represents UE4/Main @ 16579691 and Dev-PerfTest @ 16579576

[CL 16581170 by aurel cordonnier in ue5-release-engine-test branch]
2021-06-07 20:09:45 -04:00
robert seiver
7d09c12286 Pull request #7677 to give actual OS version name data instead of previously hardcoded OS name
#jira UE-106398
#review @Brandon.Schaefer
#rb Brandon.Schaefer

[CL 16474875 by robert seiver in ue5-main branch]
2021-05-26 16:28:01 -04:00
aurel cordonnier
50944fd712 Merge UE5/RES @ 16162155 to UE5/Main
This represents UE4/Main @ 16130047 and Dev-PerfTest @ 16126156

[CL 16163576 by aurel cordonnier in ue5-main branch]
2021-04-29 19:32:06 -04:00
dave hunter
b2c7ef5a31 Remove UE4 references
This removes a variety of low-risk UE4 references.

#jira UE-112113
#rb will.damon

[CL 16023965 by dave hunter in ue5-main branch]
2021-04-15 14:09:49 -04:00
Marc Audy
01b7c9f4f5 Merge UE5/RES @ 15958325 to UE5/Main
This represents UE4/Main @ 15913390 and Dev-PerfTest @ 15913304

[CL 15958515 by Marc Audy in ue5-main branch]
2021-04-08 14:32:07 -04:00
mark lintott
81585e858b #jira UE-112114
#jira UE-111136
#rb trivial
[FYI] jack.porter
Removed references to UE4 in WindowsApplication source

#ROBOMERGE-SOURCE: CL 15878170 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v786-15839533)

[CL 15878185 by mark lintott in ue5-main branch]
2021-03-31 13:28:19 -04:00
Steve Robb
4fa411c84e Removal of dependencies to Windows Vista or earlier.
#jira UE-110555
#rb josh.adams

[CL 15746365 by Steve Robb in ue5-main branch]
2021-03-19 08:05:49 -04:00
Marc Audy
8f73cd7fa9 Merge UE5/Release-Engine-Staging @ 15630841 to UE5/Main
This represents UE4/Main @ 15601601

[CL 15631170 by Marc Audy in ue5-main branch]
2021-03-05 19:27:14 -04:00
Marc Audy
9753392e2b Merge UE5/RES CL# 15462083 to UE5/Main
This represents UE4/Main @ 15414221

[CL 15463811 by Marc Audy in ue5-main branch]
2021-02-18 18:13:28 -04:00
Marc Audy
cac1fe0019 Merge UE5/Release-Engine-Staging @ CL# 15299266 to UE5/Main
This represents UE4/Main @ CL# 15277572

[CL 15299962 by Marc Audy in ue5-main branch]
2021-02-03 14:57:28 -04:00