Not supported in multicast delegates for many reasons
Not supported in slate events (may reconsider in future)
Also some cleanup:
Removed comparisons between uobject delegates and sharedptr delegates, as it's impossible for them to match
Removed "const" static delegates, as they didn't really exist
Fixed some comments
[CL 2317232 by Gareth Martin in Main branch]
This will be needed by the web browser so that its viewport can pass on the size of the viewport before it tries to render it.
[CL 2315659 by Matthew Griffin in Main branch]
This will be needed for the web browser module so that keys like delete can processed as their character code comes through as 0.
It also needs to know if caps lock is down when you pass through keyboard and mouse events.
[CL 2315655 by Matthew Griffin in Main branch]
* In the editor in a standard view, not ticking invisibile widgets has about a 4-5ms impact on total slate tick time, or about a 14% improvement.
#codereview:nick.atamas.
[CL 2313286 by Wes Hunt in Main branch]
The main changes are as follows:
1. moved Json out of Core into own module 'Json'
2. moved 3 i10n classes (Json serializers) from Core into a new module 'Internationalization' *
3. fixed up 2 i10n classes in Core to not instantiate the 3 Json-based classes. instead they are now passed in as a dependency
*) (2) and (3) were required to decouple the I10n code in Core from Json. Much of the i10n code probably doesn't belong into Core in the first place, but there is no time to fix this right now.
The following cosmetic changes were also made:
- NULL to nullptr
- namespaced enums to enum classes
- renamed the three i10n Json serializer classes to comply with naming conventions
- removed file header comments (not used)
- documentation, spelling, spacing etc,
#UpgradeNotes: If your module is including Json.h then you have to add 'Json' to your Build.cs module dependencies.
#ReviewedBy: justin.sargent, saul.abreu
[CL 2310420 by Max Preussner in Main branch]
* Allows code to skip the expensive stuff when no render transform is used. Specifically, skips render transform related concatenate calls in FGeometry ctor.
* UMG now sets a NULL RenderTransform when it detects the transform is identity.
TTP#346674: Slate: Editor performance has regressed in debug and release.
TTP#346490: MAIN: Performance drop when gathering resources
#codereview:nick.atamas,nick.darnell
[CL 2307703 by Wes Hunt in Main branch]
Added an updatable texture interface, which will be implemented by the main texture types of each slate renderer.
Ensured that it is safe to update/resize the texture from the game or render thread in the case of the RHI renderer.
D3D could be improved if we could write the whole texture at once but the only working method I could find exposes memory buffer with 16 byte alignment for each row.
Fixed non-unity build failure
#codereview Matt.Kuhlenschmidt, John.Pollard
[CL 2306749 by Matthew Griffin in Main branch]
#ttp 345543 - NUX:Details: NUX: Shift+Tab is behaving inconsistently with Tab -- it skips over value fields!
#branch UE4
#proj Runtime.SlateCore
#reviewedby Matt.Kuhlenschmidt
[CL 2305626 by Richard TalbotWatkin in Main branch]
Added a SerializeFromMismatchedTag to FSlateColor that can convert an FColor or FLinearColor property to an FSlateColor.
Had to update the logic for calling SerializeFromMismatchedTag so that it would also call it when the StructName in the Tag of a StructProperty had changed.
ReviewedBy Andrew.Rodham
[CL 2305436 by Jamie Dale in Main branch]
- We cannot speculatively set cached screen position in MoveWindowTo(), since the OS may disallow the move and/or modify the location.
- Instead, the code in FSlateApplication needs to be fixed not to assume GetPositionInScreen() to be accurate immediately after the move (TTP #347070).
- This hack work arounds the problem by limiting speculative update of the cached position to tooltips only.
#codereview Justin.Sargent, Nick.Atamas, Max.Preussner, Matt.Kuhlenschmidt, Michael.Trepka
[CL 2303437 by Dmitry Rekman in Main branch]