Commit Graph

51 Commits

Author SHA1 Message Date
calvin zheng
8736dc270f Make sure main Editor window won't bringToFront, align behavior with PC and other platforms
#jira UE-162739
#rb Zack.Neyland
#preflight 63d966b0ba4fadeef09e1c50

[CL 23938936 by calvin zheng in ue5-main branch]
2023-01-31 17:07:18 -05:00
zack neyland
d6aeb75f28 AppCore/Mac: Adds handling for safeAreaInsets.
* Monitors with notched screens (e.g. screens with camera housing built in) need to take into account the safeAreaInset when in fullscreen mode.
* Remove some unused and unexecutable code around getting the monitor name.

#jira UE-173891
#preflight https://horde.devtools.epicgames.com/job/63d0e0ed033e457ba8a1f78d

[CL 23849168 by zack neyland in ue5-main branch]
2023-01-25 11:26:57 -05:00
Devin Doucette
d51817a175 Logging: Updated Mac feedback contexts to support structured logging
This relies on the base feedback context doing most of the work, as on other platforms.

Coloring was removed from the default Mac feedback context because it has no effect on the default output devices anyway. Output devices that do want to set color based on verbosity should incorporate that logic themselves in a thread-safe way instead of relying on the color being changed globally.

#jira UE-152840
#preflight 63cabcf76e7995c750c919da
#rb Zousar.Shaker
#rnx

[CL 23790894 by Devin Doucette in ue5-main branch]
2023-01-20 11:19:46 -05:00
Josh Adams
35f58f3dd4 - Fixed up various threading and menu initialization issues with Programs on Mac
- Moved boilerplate program startup code into a shared Obj-C class, MacProgramDelegate
#rb zack.neyland
#fyi brandon.schaefer,robert.seiver
#preflight 632b45dba4769ad71456b18b

[CL 22116672 by Josh Adams in ue5-main branch]
2022-09-21 13:20:37 -04:00
Devin Doucette
f5b40af3dc Fixed unsafe type casts in Mac platform code
#preflight 630d013af92416fb926b3c7a
#rb Bryan.Sefcik
#rnx

[CL 21685328 by Devin Doucette in ue5-main branch]
2022-08-29 15:03:32 -04:00
dave hunter
7dde981dc2 Fix window activation when menus close
CocoaWindows now store their Type.  This is used so that we can make sure that we can call OnWindowActivationChanged
when the menu closes.  This is needed to restore focus in the main window after the menu is triggered.  Several other
utility windows are now not treated as main windows.


[REVIEW] will.damon
#jira UE-139065
#rnx
#preflight n/a
#lockdown cristina.riveron


#ROBOMERGE-AUTHOR: dave.hunter
#ROBOMERGE-SOURCE: CL 19093114 via CL 19093772 via CL 19094565 via CL 19096071 via CL 19105329
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19146632 by dave hunter in ue5-main branch]
2022-02-25 09:42:22 -05:00
dave hunter
8f30b73b1d Menus are not main windows (Mac)
I've added a boolean AllowMainWindow to CocoaWindow which is now set to true unless the window is a menu.  This status is reported to the OS via the canBecomeMainWindow method.  It is also used by the MacApplication which will now not activate a window when a window that's being closed is not a main window (via AllowMainWindow).

#rb will.damon
#jira UE-137460
#preflight n/a

#ROBOMERGE-AUTHOR: dave.hunter
#ROBOMERGE-SOURCE: CL 18734334 in //UE5/Release-5.0/... via CL 18734343 via CL 18734356
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v903-18687472)

[CL 18734361 by dave hunter in ue5-main branch]
2022-01-26 07:59:53 -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
Leon Huang
098ff8c905 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

[CL 17974834 by Leon Huang in ue5-main branch]
2021-10-29 00:22:28 -04:00
Richard Wallis
f5d99e2c68 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

[CL 17247660 by Richard Wallis in ue5-main branch]
2021-08-20 10:41:22 -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
bc88b73a29 Merge Release-Engine-Staging to Main @ CL# 15151250
Represents UE4/Main @ 15133763

[CL 15158774 by Marc Audy in ue5-main branch]
2021-01-21 16:22:06 -04:00
Marc Audy
a7c9001a94 Merging //UE5/Release-Engine-Staging to Main (//UE5/Main) @ 14075166
#rb
#rnx

[CL 14075271 by Marc Audy in ue5-main branch]
2020-08-11 01:36:57 -04:00
Rolando Caloca
bbb9564388 Copying //UE4/Dev-RenderPlat-Staging@11110326 to //UE4/Main
#rb none
#rnx

[CL 11110369 by Rolando Caloca in Main branch]
2020-01-24 18:07:01 -05:00
JeanMichel Dignard
dc2d35695f Copyright fixes
#rb none
#rnx

[CL 10910710 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-08 17:11:23 -05:00
JeanMichel Dignard
70d074639f Merging //UE4/Dev-Main @ 10886849 to Dev-Tools-Staging (//UE4/Dev-Tools-Staging)
#rb none
#rnx

[CL 10906274 by JeanMichel Dignard in Dev-Tools-Staging branch]
2020-01-08 13:26:18 -05:00
ryan durand
0f0464a30e Updating copyright for Engine Runtime.
#rnx
#rb none


#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869210 via CL 10869511 via CL 10869900
#ROBOMERGE-BOT: (v613-10869866)

[CL 10870549 by ryan durand in Main branch]
2019-12-26 14:45:42 -05:00
Chris Gagnon
346a4b05ea Copy up from Dev-Editor @10681378
#rb none

[CL 10837446 by Chris Gagnon in Dev-Tools-Staging branch]
2019-12-19 18:07:47 -05:00
jason stasik
d7e15b508e Store the current opacity in FMacWindow so we can revert back to it when necessary
#jira UE-83456
#rnx
#rb michael.trepka

#ROBOMERGE-SOURCE: CL 10125724 in //UE4/Release-4.24/...
#ROBOMERGE-BOT: RELEASE (Release-4.24 -> Main) (v587-10111126)

[CL 10125757 by jason stasik in Main branch]
2019-11-13 10:56:29 -05:00
Lihao Huang
6262c8adab Accessibility: Introduced accessibility support for Mac. Mac VoiceOver navigation and interaction support for buttons, checkboxes, text and sliders now supported.
#jira: UE-80103
#rb: Jason.Stasik

[CL 9425621 by Lihao Huang in Dev-Editor branch]
2019-10-04 22:43:37 -04:00
Chris Gagnon
930e33cb48 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) for 4.23 From CL 6837861
#rb none

[CL 6838042 by Chris Gagnon in Main branch]
2019-06-04 15:42:48 -04:00
Chris Gagnon
0a9f86357f Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 6837840 by Chris Gagnon in Dev-Editor branch]
2019-06-04 15:16:30 -04:00
Arciel Rekman
7ef9626fe8 Copying //UE4/Dev-Console@6677439 to Dev-Main (//UE4/Dev-Main)
#rb none

[CL 6677614 by Arciel Rekman in Main branch]
2019-05-30 14:48:02 -04:00
Chris Gagnon
80918bea22 Merging //UE4/Dev-Main to Dev-Editor (//UE4/Dev-Editor)
#rb none

[CL 5110714 by Chris Gagnon in Dev-Editor branch]
2019-02-21 13:05:30 -05:00