Age | Commit message (Collapse) | Author |
|
|
|
This commit makes operator[] on Vector const and adds a write proxy to it. From
now on writes to Vectors need to happen through the .write proxy. So for
instance:
Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;
Failing to use the .write proxy will cause a compilation error.
In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.
_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
|
|
|
|
|
|
|
|
- Implement outlines based on FreeType Stroker API. This allows
artifact-free results, similar to what you will see in Web or any text
editing tools. Outline is a part of DynamicFont rather than Label,
because outlines have to be baked into the font's atlas. Font has a
default outline_color and a Label can specify font_outline_modulator
that will be multiplied with the Font's color to get the final result.
- draw_char now has to be called twice to fully render a text - first
with p_outline == true for each character and then with
p_outline == false for each character.
- Number of draw-calls is reduced from 5 to 2 per outlined character.
- Overall cleanup of DynamicFont code, extracted duplicated code pieces
into separate methods.
- The change is backward-compatible - Labels still have outline
properties that work exactly as they worked before.
Closes #16279.
|
|
RichTextLabel, doc: Added new method to get total content height
|
|
Implement font shadows for RichTextLabel
|
|
|
|
|
|
|
|
When `RichTextLabel` calculated the actual width of columns, it let
them grow to sizes greater than its calculated `max_width`. Now this
PR ensures no columns grows beyond `max_width`, and the excess width
is distributed among the columns which can still grow.
It should fix #17731.
|
|
Text overflowed canvas as tables didn't calculate correctly the width
of their columns. They used the whole table width available for each
column. Also, the `cell` parameter was wrongly parsed if used with its
optional argument (expand ratio).
This PR fixs the parsing of `cell` parameter (i.e. `cell=e`) and the
distribution of the full table width between columns, but it overrides
automatically the `expand` flag if the column is smaller than it could
be, to allow a better UX out-of-the-box. It keeps the `expand_ratio`
flag to let the user customize how every column grows in relation to
the rest.
Partially fix #6289.
|
|
|
|
|
|
|
|
Notable potentially breaking changes:
- PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL
- Some properties were renamed, and sometimes even shadowed by new ones
- New getter methods (some virtual) were added
|
|
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
|
|
RichTextLabel: don't draw underline character-wise
|
|
|
|
|
|
Happy new year to the wonderful Godot community!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
added option to keep font color on selection + use consistent selection color in help (fixes: #11501)
|
|
The missing usage flag led to GDNative API descriptions containting
arguments with "void" type.
|
|
|
|
Also exposed get_line_count to GDScript.
|
|
fixes #3671
|
|
|
|
- also fixed issue with total_chars ignoring first line
|
|
|
|
|
|
|
|
|
|
|
|
* Added set_text function to RichTextLabel
* Added percent_visible attributes and functions to RichTextLabel
This should make switching from Label to RichTextLabel easier.
|
|
|
|
This reverts commit cd778e00dc5362d00d4760c79fc301951f6f9b75.
That commit introduced regressions for non-CJK languages are discussed
in #8952. Fixes #9078.
|
|
Make the naming consistent with other classes.
|
|
(cherry picked from commit cd778e00dc5362d00d4760c79fc301951f6f9b75)
|
|
this might cause bugs I haven't found yet..
|