Commit Graph

172 Commits

Author SHA1 Message Date
Cody Haskell
a590c13b02 #UMG
- Adding a Play Sound function to User Widgets

#codereview Nick.Darnell

[CL 2327594 by Cody Haskell in Main branch]
2014-10-13 15:43:13 -04:00
Fred Kimberley
27c0402283 Integrating changes from the Fortnite branch up to CL 2318231.
Merging using UE4-Fortnite-To-UE4

[CL 2321212 by Fred Kimberley in Main branch]
2014-10-07 09:53:56 -04:00
Nick Darnell
2e11c8b655 Slate - The Menu Anchor now allows content to appear on the left. Customized the enum display names to be less wordy for UMG.
[CL 2319410 by Nick Darnell in Main branch]
2014-10-04 09:35:30 -04:00
Gareth Martin
e5aa3468bb Adding support for lambdas to slate events, on request of Nick Atamas
[CL 2317410 by Gareth Martin in Main branch]
2014-10-02 11:25:04 -04:00
Michael Trepka
eadc7b809a Fixed Clang compile errors
#codereview Gareth.Martin

[CL 2317357 by Michael Trepka in Main branch]
2014-10-02 10:54:05 -04:00
Gareth Martin
1d84d219d2 Lambda support in delegates and slate attributes
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]
2014-10-02 10:51:29 -04:00
Matthew Griffin
effd365ac0 Added geometry and current time to ISlateViewport Tick function
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]
2014-10-01 05:07:38 -04:00
Matthew Griffin
8d9091a282 Adding original key code to keyboard events and exposed AreCapsLocked from input events
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]
2014-10-01 04:57:32 -04:00
Michael Noland
c49f495322 Slate: Coding-standards fixes (TypeName [*|&] VariableName -> TypeName[*|&] VariableName)
[CL 2315532 by Michael Noland in Main branch]
2014-10-01 01:26:26 -04:00
Nick Darnell
619e1e4297 UMG - Introducing a Wrap Box that can wrap widgets onto a new line if it runs out of space. Introducing named slot support, still under development, but allows user widgets to expose slots that content can be placed into in different instances of the user widget. The designer now allows custom design time resolutions to be setup on a per widget basis, because sometimes you don't want to model a small widget as if it were a fullscreen widget. Fixing a bug with how the designer draws effects by having a shim widget that paints at a specific layer in the designers overlay. Introducing a modification to the progress bar so that the default progress bar brush is white, and the color is a tint so that progress bars can more easliy styed in UMG out of the box, fixes the 'my progress bar can't be blue' bug. Adding a small grid to the anchor dialog to give a sense of resize instead of just pulsing.
[CL 2314745 by Nick Darnell in Main branch]
2014-09-30 15:08:57 -04:00
Bob Tellez
fa1a7542ca Merging Dev->Main using CL#2312419 UE4-Fortnite-To-UE4
[CL 2313759 by Bob Tellez in Main branch]
2014-09-29 21:43:13 -04:00
Wes Hunt
57b2cfa260 Added a cvar Slate.TickInvisibleWidgets that controls whether invisible widgets are ticked. Defaults to true to match existing functionality.
* 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]
2014-09-29 15:36:24 -04:00
Wes Hunt
916c7be6d7 Made FGeometry::Size const like all the other members. This was an oversight when I made the rest const.
[CL 2313280 by Wes Hunt in Main branch]
2014-09-29 15:31:38 -04:00
Jaroslaw Palczynski
65ba5d456f TArray documentation and a coupld of methods deprecation.
Changes mostly in Array.h. The changes in other files are only renames for deprecated functions.

[CL 2312616 by Jaroslaw Palczynski in Main branch]
2014-09-29 04:23:44 -04:00
Max Preussner
6510058ee7 Core: Moved Json out of Core and into its own module
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]
2014-09-25 18:03:04 -04:00
Wes Hunt
7ae0036f0e Remove stale comment.
[CL 2310175 by Wes Hunt in Main branch]
2014-09-25 14:57:13 -04:00
Wes Hunt
25c4213d7e Add some new Slate counters.
* Num Painted Widgets
  * Num Ticked Widgets

[CL 2308801 by Wes Hunt in Main branch]
2014-09-24 16:31:38 -04:00
Wes Hunt
a78cef4ea0 Converted SWidget::RenderTransform into a TOptional for performance reasons.
* 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]
2014-09-23 19:06:06 -04:00
Matthew Griffin
783bd7cf82 Adding an updatable texture to easily allow writing to textures every frame.
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]
2014-09-23 08:23:45 -04:00
Richard TalbotWatkin
fc796d2ff4 Fixed typo in SearchForWidgetRecursively_Reverse, so that Shift+Tab to focus to the previous widget works correctly.
#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]
2014-09-22 11:18:57 -04:00
Jamie Dale
acda749986 Fixed a crash caused by changing an FLinearColor property to an FSlateColor
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]
2014-09-22 09:45:42 -04:00
Frank Fella
fd96c8c812 SlateApplication - User a safer constant index for the cursor to prevent some crashes.
[CL 2304270 by Frank Fella in Main branch]
2014-09-19 14:14:51 -04:00
Ben Marsh
c1e81241c7 Fix for warning about implementation of deprecated method in FSlateApplication.
[CL 2303934 by Ben Marsh in Main branch]
2014-09-19 08:38:30 -04:00
Frank Fella
651cb439db SlateApplication - Add back an API which was removed when multitouch capture was added, and mark it as deprecated.
[CL 2303443 by Frank Fella in Main branch]
2014-09-18 21:10:25 -04:00
Dmitry Rekman
bf786c7866 Proper fix for tooltip jitter on Linux.
- 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]
2014-09-18 21:00:24 -04:00