Commit Graph

1516 Commits

Author SHA1 Message Date
yohann dossantos
eb0b979b8c Add support for ascent/descent override in Font.
Bonus: added the ability to scale the fonts in the preview from the font editor, for clearer preview.

#jira UE-184155 Expose Ascent/Descent overides
#rb vincent.gauthier
#tests Using the font provided in the jira and the new settable values, ensured that I was able to get result similar to a 'standard' font, on single line text, multi line text, rich text combining the problematic font and another one, as well as using a composite font mixing the fonts. Tested with different size. Validated that modifying the new font settings was refreshing the font displayed. Replaced in a game project the font "burbank" by the new font and got it properly vertically aligned using new settings.
#preflight 647a377ed4596f242c113c75

[CL 25790038 by yohann dossantos in ue5-main branch]
2023-06-05 08:26:48 -04:00
daren cheng
5d0a57fecf Re-submit 25720195 with arg struct definition moved for non-debug builds.
-----------------------------------------------------------------
Slate batching improvements for large element sets
---
Group similar elements at compile time using tuples instead of maps (Also preps for slate payload removal).
Merge similar renderbatches in same-typed element buckets (Currently for box and lines only).
Reserve verticies / elements in a batch before using them
Add some comments to invalidation.

#rb Patrick.Boutot
#preflight 646ff8505b484acfee7cc9fa
#jira UE-173455

[CL 25738553 by daren cheng in ue5-main branch]
2023-06-01 15:57:14 -04:00
daren cheng
d7d121f724 [Backout] - CL25717383
[FYI] daren.cheng
Original CL Desc
-----------------------------------------------------------------
Re-submit 25712585 with manual tuple expansion to prevent use before define.
-----------------------------------------------------------------
Slate batching improvements for large element sets
---
Group similar elements at compile time using tuples instead of maps
Merge similar renderbatches in same-typed element buckets (Currently for box and lines only).
Reserve verticies / elements in a batch before using them
Add some comments to invalidation.

#rb Patrick.Boutot
#preflight 646ff8505b484acfee7cc9fa
#jira UE-173455

[CL 25720199 by daren cheng in ue5-main branch]
2023-05-31 23:37:20 -04:00
daren cheng
30e7727aaf Re-submit 25712585 with manual tuple expansion to prevent use before define.
-----------------------------------------------------------------
Slate batching improvements for large element sets
---
Group similar elements at compile time using tuples instead of maps
Merge similar renderbatches in same-typed element buckets (Currently for box and lines only).
Reserve verticies / elements in a batch before using them
Add some comments to invalidation.

#rb Patrick.Boutot
#preflight 646ff8505b484acfee7cc9fa
#jira UE-173455

[CL 25717402 by daren cheng in ue5-main branch]
2023-05-31 18:57:56 -04:00
daren cheng
7622b67782 [Backout] - CL25712585
[FYI] daren.cheng
Original CL Desc
-----------------------------------------------------------------
Slate batching improvements for large element sets
---
Group similar elements at compile time using tuples instead of maps
Merge similar renderbatches in same-typed element buckets (Currently for box and lines only).
Reserve verticies / elements in a batch before using them
Add some comments to invalidation.

#rb Patrick.Boutot
#preflight 646ff8505b484acfee7cc9fa
#jira UE-173455

[CL 25716613 by daren cheng in ue5-main branch]
2023-05-31 18:20:34 -04:00
daren cheng
6165a76847 Slate batching improvements for large element sets
---
Group similar elements at compile time using tuples instead of maps
Merge similar renderbatches in same-typed element buckets (Currently for box and lines only).
Reserve verticies / elements in a batch before using them
Add some comments to invalidation.

#rb Patrick.Boutot
#preflight 646ff8505b484acfee7cc9fa
#jira UE-173455

[CL 25712708 by daren cheng in ue5-main branch]
2023-05-31 16:20:47 -04:00
daren cheng
16c16051ca Inline slate element iteration
#rb Patrick.Boutot
#preflight 646ff8505b484acfee7cc9fa
#jira UE-173455

[CL 25712588 by daren cheng in ue5-main branch]
2023-05-31 16:18:44 -04:00
ben hoffman
90ed12e1e5 This is two changelists, re-submitting of 25473883 (which was backed out with 25495316) and also a cherry pick of 25507685 to fix an ensure the original CL caused.
#preflight 647773ab0d55081f5494ab67
#jira none

--------------------------------------------------
Add ability to add a widget inside the global window overlay

#rb Patrick.Boutot

#ushell-cherrypick of 25473883 by kristof.morva1

----------------------------------------------
Fix ensure when hiding mouse capture label after exiting PIE

#rb Vincent.Gauthier

#ushell-cherrypick of 25507685 by kristof.morva1

[CL 25709904 by ben hoffman in ue5-main branch]
2023-05-31 14:56:43 -04:00
kirill zorin
b6ee3a6c64 Fix UE_LOG callsites that have format string-related UB
#rb trivial
#preflight 647107780a6634dbb236a0a6

[CL 25651638 by kirill zorin in ue5-main branch]
2023-05-26 15:52:39 -04:00
yohann dossantos
b3a67f9854 [Backout] - CL25531508
[FYI] yohann.dossantos
Original CL Desc
-----------------------------------------------------------------
Fix incorrectly displayed text. In Slate, wrapping text needs 2 draws to be displayed properly, otherwise some incorrect value are used. In the case of this bug, the text was offseted with a value based on the text width without wrapping (as if it was single line)  instead of the correct width with wrapping applied. An invalidation of the widget was called, but as the invalidation was not supported in this code path (WidgetComponent + WidgetRendere::DrawWindow), it was ignored.

Now the WidgetRenderer::DrawWindow support Invalidation Root, and the WidgetComponent enabled the Invalidation on the VirtualWindow it uses, and do only the necessary amount of Tick.

#jira UE-FORT-594200
#rb patrick.boutot
#tests Repro steps from the jira, no longer occurs. Tested that hit testing was still working properly by using a widget with buttons in the widgetcomponent. Tested with and without the new setting bIsInvalidationEnabled activated.
#preflight 646664b7a133ca477bc93c69

[CL 25545951 by yohann dossantos in ue5-main branch]
2023-05-19 12:01:41 -04:00
paul chipchase
0455202c56 Remove the use of BULKDATA_SerializeCompressedBitWindow as it has not done anything for some time.
#rb Per.Larsson
#jira none
#rnx
#preflight 64673d8f0577c206c7510aa8

[CL 25541437 by paul chipchase in ue5-main branch]
2023-05-19 05:49:57 -04:00
yohann dossantos
c83f614c7d Fix incorrectly displayed text. In Slate, wrapping text needs 2 draws to be displayed properly, otherwise some incorrect value are used. In the case of this bug, the text was offseted with a value based on the text width without wrapping (as if it was single line) instead of the correct width with wrapping applied. An invalidation of the widget was called, but as the invalidation was not supported in this code path (WidgetComponent + WidgetRendere::DrawWindow), it was ignored.
Now the WidgetRenderer::DrawWindow support Invalidation Root, and the WidgetComponent enabled the Invalidation on the VirtualWindow it uses, and do only the necessary amount of Tick.

#jira UE-FORT-594200
#rb patrick.boutot
#tests Repro steps from the jira, no longer occurs. Tested that hit testing was still working properly by using a widget with buttons in the widgetcomponent. Tested with and without the new setting bIsInvalidationEnabled activated.
#preflight 646664b7a133ca477bc93c69

[CL 25534756 by yohann dossantos in ue5-main branch]
2023-05-18 17:54:17 -04:00
bryan sefcik
543057b477 Fixed an issue where the public dependencies weren't being added to the include path list.
#rb joe.kirchoff
#preflight 645d0d91592448f08b9ce111
#preflight 6464fa322d446eac96d40d6a

[CL 25509605 by bryan sefcik in ue5-main branch]
2023-05-17 12:31:45 -04:00
Vincent Gauthier
bf96119127 Tentative fix for ensure when exiting pie and fix to error message.
#jira UE-185992
#preflight 6463ee8311205d3573683fcf

[CL 25498085 by Vincent Gauthier in ue5-main branch]
2023-05-16 17:18:57 -04:00
ben hoffman
01fba3cd6d [Backout] - CL25475099
#fyi ben.hoffman
Original CL Desc
#preflight 6463ada2c34c2e12121ddf21
-----------------------------------------------------------------
Add ability to add a widget inside the global window overlay

#rb Patrick.Boutot
#preflight 6462499bcf788a255834719a

#ushell-cherrypick of 25473883 by kristof.morva1

[CL 25495316 by ben hoffman in ue5-main branch]
2023-05-16 15:41:03 -04:00
christopher waters
702832d7b9 Changing FPointerEvent to export only 2 methods instead everything which included all its getters.
#preflight 6462b9262965f6ea8eb51e4b
#rb bryan.sefcik

[CL 25490399 by christopher waters in ue5-main branch]
2023-05-16 11:31:22 -04:00
kirill zorin
de8db5ff76 Converting ARO-facing raw pointers to TObjectPtr ahead of raw pointer ARO API deprecation.
#rb zousar.shaker
#rb markus.breyer
#rb robert.manuszewski

#preflight 646391406b1406b54ab15460

[CL 25489627 by kirill zorin in ue5-main branch]
2023-05-16 10:52:49 -04:00
ben hoffman
c2daa15431 Add ability to add a widget inside the global window overlay
#rb Patrick.Boutot
#preflight 6462499bcf788a255834719a

#ushell-cherrypick of 25473883 by kristof.morva1

[CL 25475099 by ben hoffman in ue5-main branch]
2023-05-15 12:04:03 -04:00
yohann dossantos
d22c34a1cc Fixed various ellipsis bugs:
- ellipsis appearing on multiple lines on multline text, and for each block in each line for multiline + rich text or bidirectionnal text, instead of having a single ellipsis by text.
- ellipsis not always shown on text with multiple runs (like rich text or bidirectionnal text). Ellipsis could be misplaced. It was more likely to happen on left_to_right text.
- ellipsis not shown (or show the wrong side) for multiline right justified text, or right to left text that was left justified.

When using texts with multiples blocks, it's possible to have the ellipsis partially clipped, but it would require deeper changes in the text system to fix this issue.

Tests:
-New test scene in EngineTest to cover all fixed bugs, and much more ellipsis usage.
-Validated in Unreal Ed that all tested editors where working as expected.

#jira UE-176972
#rb patrick.boutot
#preflight 645e54acb71b8186aad87e7b

[CL 25450388 by yohann dossantos in ue5-main branch]
2023-05-12 11:28:55 -04:00
daren cheng
ca212c2d3e Make retained widgets group by element type (Otherwise future element type optimizations won't affect retained rendering).
#jira UE-173455
#preflight 645c25052c180971eebd103c
#preflight 645c59eb592448f08b5145f1
#rb Vincent.Gauthier Patrick.Boutot

[CL 25439970 by daren cheng in ue5-main branch]
2023-05-11 20:48:40 -04:00
daren cheng
a153e1d65f Use static indexes for slate shaped text and text
#jira UE-173455
#preflight 645c24bd2c180971eebd0417
#rb Vincent.Gauthier

[CL 25438655 by daren cheng in ue5-main branch]
2023-05-11 19:37:50 -04:00
bryan sefcik
130ae2366e [Backout] - CL25429497
#fyi bryan.sefcik
Original CL Desc
-----------------------------------------------------------------
Fixed an issue where the public dependencies weren't being added to the include path list.

#rb joe.kirchoff
#preflight 645d0d91592448f08b9ce111

[CL 25432128 by bryan sefcik in ue5-main branch]
2023-05-11 14:14:52 -04:00
bryan sefcik
47d43ac65f Fixed an issue where the public dependencies weren't being added to the include path list.
#rb joe.kirchoff
#preflight 645d0d91592448f08b9ce111

[CL 25429497 by bryan sefcik in ue5-main branch]
2023-05-11 12:22:26 -04:00
daren cheng
106978757a Undo 23600931 backout with fixes to pick painted widgets
#jira UE-173455
#rb Patrick.Boutot, Yohann.Dossantos
#preflight 64502ef16538e45f75d516b1

[CL 25309579 by daren cheng in ue5-main branch]
2023-05-02 18:21:44 -04:00
aditya ravichandran
834a76abaf Change the combo buttons on the status bar to use the regular "SimpleComboButton" style with chevrons
#jira none
#rb karen.jirak
#preflight 644acad4693defa68d94ce45

[CL 25221777 by aditya ravichandran in ue5-main branch]
2023-04-27 15:33:10 -04:00