Commit Graph

104 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
ben hoffman 64e252935c Clean up type truncation warnings
#jira UE-116218
#rb trivial
#rnx
#preflight 61e6efb4837b79f7ccebe551

#ROBOMERGE-AUTHOR: ben.hoffman
#ROBOMERGE-SOURCE: CL 18641648 in //UE5/Release-5.0/... via CL 18641663 via CL 18641684
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v900-18638592)

[CL 18641708 by ben hoffman in ue5-main branch]
2022-01-18 12:13:22 -05:00
eric knapik e54cb92993 #jira: FORT-420219
Exposing FPointerEvent to be used in plugins

#rb: Rex.Hill
#preflight 61a67dbb9c77d610077f00b3

#ROBOMERGE-AUTHOR: eric.knapik
#ROBOMERGE-SOURCE: CL 18347364 via CL 18348714 via CL 18348726 via CL 18348732 via CL 18349101 via CL 18349122
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v895-18170469)

[CL 18349127 by eric knapik in ue5-release-engine-test branch]
2021-12-01 22:13:04 -05:00
daren cheng 29fe6f465b Fix mouse offset at non-standard resolutions.
#jira UE-117869
#rb Vincent.Gauthier
#preflight 6102e20803d30300016de6d7

#ROBOMERGE-SOURCE: CL 16999127 in //UE5/Main/...
#ROBOMERGE-BOT: STARSHIP (Main -> Release-Engine-Test) (v838-16927207)

[CL 16999132 by daren cheng in ue5-release-engine-test branch]
2021-07-29 14:34:55 -04:00
Patrick Boutot 98830126c1 Slate: Update Hittestgrid and some FWidgetPath's function to takes a SWidget pointer instead of a SWidget shared ptr to reduce the number shared ptr copy. FWidgetAndPointer uses a TOptional instead of a TSharedPtr.
#jira UE-115497
#rb vincent.gauthier
#preflight 60b66d94107dc600015d58cc

[CL 16532706 by Patrick Boutot in ue5-main branch]
2021-06-02 08:06:36 -04:00
roey borsteinas 52ab4cc7ee SceneOutliner: Reverting composite drag drop transparent cast
#rb patrick.enfedaque
#jira UE-104528

#ROBOMERGE-SOURCE: CL 15360652 in //UE5/Release-5.0-EarlyAccess/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-EarlyAccess -> Main) (v771-15082668)

[CL 15360679 by roey borsteinas in ue5-main branch]
2021-02-08 17:38:18 -04:00
Marc Audy a7f9391231 Merge UE5/Release-Engine-Staging @ 14811410 to UE5/Main
This represents UE4/Main @ 14768117

For ReleaseObjectVersion.h
#lockdown Marcus.Wassmer

[CL 14811440 by Marc Audy in ue5-main branch]
2020-11-24 18:42:39 -04:00
Patrick Boutot c8b2ae9472 Slate: Add SlateInvalidationWidgetList a container, similar to a paged array, that can update the fast path list faster. It uses 2 indexes instead of one. It only rebuilds the elements that are affected by the update. Use FSlateInvalidationWidgetIndex and FSlateInvalidationWidgetSortIndex. FWidgetProxy is currently used but will be phase out soon to remove duplication and improve performance.
#jira UE-99527, UETOOL-2349

[CL 14795597 by Patrick Boutot in ue5-main branch]
2020-11-20 08:38:28 -04:00
Marcus Wassmer 3b81cf8201 Merging using //UE5/Main_to_//UE5/Release-Engine-Staging @14384769
autoresolved files
#rb none

[CL 14384911 by Marcus Wassmer in ue5-main branch]
2020-09-24 00:43:27 -04:00
roey borsteinas 08d1b8fbd6 CompositeDragDropOp refactor
Refactored the CompositeDragDropOp so that it can be interacted with transparently as any one of its sub ops.
Also now supports Folder Drops in the layer browser

[FYI] max.chen daren.cheng
#rb patrick.enfedaque
#jira none

#ROBOMERGE-SOURCE: CL 14272172 in //UE5/Release-5.0-M2/...
#ROBOMERGE-BOT: STARSHIP (Release-5.0-M2 -> Main) (v724-14254601)

[CL 14272208 by roey borsteinas in ue5-main branch]
2020-09-08 14:16:22 -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
Marc Audy 11f5b21210 Merging //UE5/Release-Engine-Staging @ 13752110 to Main (//UE5/Main)
#rnx

[CL 13753156 by Marc Audy in ue5-main branch]
2020-06-23 18:40:00 -04:00
nick darnell 9a9e8d1310 Slate - Renaming TranslateMouseCoordinateFor3DChild to TranslateMouseCoordinateForCustomHitTestChild, it's a lot clearer what the function is actually for, and doesn't give the false impression that it's for something it's not, making it a little more broader a naming convention for future usage.
#rb Matt.Kuhlenschmidt

#ROBOMERGE-SOURCE: CL 13050736 via CL 13052125 via CL 13052154 via CL 13052198 via CL 13052239
#ROBOMERGE-BOT: RELEASE (Release-Engine-Staging -> Main) (v686-13045012)

[CL 13052261 by nick darnell in Main branch]
2020-04-27 18:44:35 -04:00
Rolando Caloca 5b82f15def Copying //UE4/Dev-RenderPlat-Staging@11388153 to //UE4/Main
#rb none
#rnx

[CL 11388545 by Rolando Caloca in Main branch]
2020-02-12 13:27:19 -05:00
josh gross 871052a863 Wiget::SetUserFocus: If we're able to set focus immediately, cancel any focus request that's waiting to be processed in the LocalPlayer's SlateOperations.
#rb [at]Dan.Hertzka



#ROBOMERGE-SOURCE: CL 11294962 via CL 11294963 via CL 11296120 via CL 11296175
#ROBOMERGE-BOT: (v647-11244347)

[CL 11296220 by josh gross in Main branch]
2020-02-07 16:36:51 -05:00
Juan Canada 2ecf4f9708 Merging //UE4/Dev-Main@10877709 to Dev-RenderPlat-Staging(//UE4/Dev-Rendering)
#rnx
#rb none

[CL 10895568 by Juan Canada in Dev-RenderPlat-Staging branch]
2020-01-07 13:45:01 -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
matt kuhlenschmidt ca5817ff87 Give FHitttestGrid::GetBubblePath default value for UserIndex to avoid backwards compatibility issues
#jira UE-85456


#ROBOMERGE-SOURCE: CL 10571190 via CL 10571288 via CL 10571294 via CL 10571298 via CL 10571310
#ROBOMERGE-BOT: (v606-10482310)

[CL 10571316 by matt kuhlenschmidt in Main branch]
2019-12-05 17:16:43 -05:00
matt kuhlenschmidt bdb38283e2 Enabled per-user hit testing in Slate to avoid cases where two users hovered over incompabile UI (UI designed for a specific user) can still interact with it.
#rb chris.gagnon


#ROBOMERGE-SOURCE: CL 10541213 via CL 10541286 via CL 10560152 via CL 10560839 via CL 10560958
#ROBOMERGE-BOT: (v606-10482310)

[CL 10561108 by matt kuhlenschmidt in Main branch]
2019-12-05 15:59:53 -05:00
dan hertzka ed3ede3e5c FReply now stores the target widgets for various requests as WeakPtrs.
- Resolves issues where the FReply living on ULocalPlayer could cause SObjectWidgets and their associated UUserWidgets to have a delayed destruction process.
- Also just generally stands to reason that if the FReply reference is the only thing keeping a widget alive, there's no chance that SlateApplication will actually be able to do anything meaningful with that widget anyway (it can't be focused, captured, dragged, etc.)
- Resolved a lurking potential crash in FSlateApplication that was made more possible by this change

[at]Nick.Darnell


#ROBOMERGE-SOURCE: CL 10379330 via CL 10380129 via CL 10380157
#ROBOMERGE-BOT: (v594-10333955)

[CL 10380670 by dan hertzka in Main branch]
2019-11-22 16:52:52 -05:00
dan hertzka 4e1eeaa557 - Fixed the signature of FPointerEvent::GetCursorDelta() to return a const ref to the member instead of copy
- Added FSlateUser::IsWidgetInFocusPath() and added some comments explaining the three different functions there for checking focused-ness of a widget



#ROBOMERGE-SOURCE: CL 10282945 via CL 10282946 via CL 10282947
#ROBOMERGE-BOT: (v591-10236483)

[CL 10282948 by dan hertzka in Main branch]
2019-11-16 20:32:13 -05:00
Chris Gagnon 2e87118a18 Copying //UE4/Dev-Editor to Dev-Main (//UE4/Dev-Main) Interim 4.24.
#rb none

[CL 8614014 by Chris Gagnon in Main branch]
2019-09-10 11:35:20 -04:00
matt kuhlenschmidt c64ca632c7 Slate Global Invalidation System
This change makes it possible to remove the layout and painting overhead that Slate performs every frame.  The system is off by default as we continue to iterate on it.

However, this includes massive changes to batching, rendering, hit testing, and invalidation panels which are permanent changes and cannot be disabled.

#rb chris.gagnon, nick.darnell
[CODEREVIEW] nick.darnell


#ROBOMERGE-OWNER: matt.kuhlenschmidt
#ROBOMERGE-AUTHOR: matt.kuhlenschmidt
#ROBOMERGE-SOURCE: CL 7232617 via CL 7235502
#ROBOMERGE-BOT: (v367-6836689)

[CL 7235503 by matt kuhlenschmidt in Main branch]
2019-07-08 23:50:34 -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
matt hoffman 5fc20eb45d This is a significant overhaul to the Curve Editor used by Sequencer which adds a plugin-based architecture and extensibility. New tools and toolbar buttons can be added to all usages of the curve editor via user plugins, and the different views for data can be created modularly so new implementations of the editor can register their own way of drawing their data and the tools should just work. Additionally, you can now write your own filters to operate on curve editor data for custom implementations of smoothing, key generation, etc.
The curve editor supports three view types by default - an absolute view (default, matches old behavior), a stacked view and a normalized view. Stacked views draw each curve separately (so non-overlapping) and normalized against their own min/max values. The normalized view draws all curves overlapping with each one normalized against its own min/max values.

A tree view has been added to help effectively manage large numbers of curves. Selecting curves in the treeview controls which curves are visible in the view area. The treeview also supports pinning curves. These pinned curves will always be visible regardless of your selection in the tree view.

A transform tool and a retiming tool have been implemented (via a plugin) which is enabled by default. The transform tool allows you to do a marquee selection of keys and then translate and scale the positions of these keys. The retiming tool allows you to create a 1 dimensional lattice to adjust the timing of your keys with a linear falloff between each lattice point. These tools work across multiple views at the same time which is especially useful if you are representing one dimensional data (such as event keys) in a view, as it allows you to adjust this data at the same time as your animation curves. A smoothing filter has been implemented (via a plugin) to allow running highpass and lowpass filters on your keys.

Opening the curve editor in Sequencer/UMG now creates a separate dockable tab which can be resized and docked as desired. A time slider has been added to the Curve Editor which is synchronized to the playback time in Sequencer. This allows you to scrub time in the curve editor without having to find the Sequencer window and adjust time there while looking at your keys and previewing your animation in the viewport at the same time.

Rudimentary support has been added for saving and later restoring a set of curves in your current session. This allows you to do a rudimentary copy/paste of entire curves but can also be useful for saving a curve, making adjustments to it and then deciding you want to go back - simply reapply the saved curve! Each curve added supports an intention name (such as "Location.X" or "FieldOfView"), and these intention names will be used when trying to apply curves. This allows you to reliably take all of the curves of a transform on one object and apply them to another object (and ensure that Location.X gets applied to the new Location.X, etc.) this can be helpful if you have a mixed set of curves buffered (such as a location and a field of view). In the event that no curves match by intention you can store and apply a single curve at a time from any intention to any other intention.

The Curve Asset editors (float, vector and color curve assets) have been changed to use the new editor. They support the same treeviews, filtering and tools that the Sequencer editor does. In addition, the Color Curve asset editor adds an additional view which provides a 1 dimensional gradient editor as an easier way to visualize and edit colors instead of the channels individually.


#rb Max.Chen, Andrew.Rodham


#ROBOMERGE-SOURCE: CL 6631811 via CL 6633746
#ROBOMERGE-BOT: (vundefined-6620334)

[CL 6633863 by matt hoffman in Main branch]
2019-05-24 14:42:05 -04:00