Commit Graph

169 Commits

Author SHA1 Message Date
bruvzg fff71db5b1
[RTL] Fix list item prefix width not taken into account. 2024-06-10 13:14:56 +03:00
aaronp64 6ecccd6085 Fix RichTextLabel table overlapping with next line
When calculating table height, RichTextLabel::_shape_line would increase the height when it reached the end of a complete row, or the final cell of the table.  RichTextLabel::_resize_line would only increase the height at the end of a complete row, causing the height to ignore the final row if not all cells were populated.  This would cause the final row to overlap with the following line in the RichTextLabel if it was the last visible line in the RichTextLabel, as _resize_line is called when updating scrolling properties.

This change moves the common table size calculations to a separate function to reuse the code between _shape_line and _resize_line, keeping the final cell check that was used in _shape_line.

Fixes #92603
2024-05-31 16:21:17 -04:00
bruvzg 360d365b33
[RTL] Adds extra argument to `remove_paragraph` to skip cache invalidation and a method for manual cache invalidation. 2024-05-02 14:03:21 +03:00
Rémi Verschelde 77caf02802
Merge pull request #89705 from bruvzg/rtl_draw_steps
[RTL] Move shadow and foreground/background boxes drawing into a separate draw steps.
2024-04-29 13:00:22 +02:00
bruvzg 0adb55423d
[RTL] Rewrite `remove_paragraph` code. 2024-04-22 10:32:24 +03:00
bruvzg fe8737da49
[RTL] Move shadow and foreground/background boxes drawing into a separate draw steps. 2024-04-09 21:44:53 +03:00
bruvzg 2a3de7adc3
[RTL] Add optional `push_meta` argument to control how meta underline is drawn. 2024-03-01 12:07:06 +02:00
bruvzg 6d17fc1f73
[RTL] Connect image update signals. 2024-01-26 12:18:24 +02:00
Nicholas Foo c0f8e0061d
Fix RichTextLabel.remove_paragraph crash by popping current 2024-01-16 13:52:19 +02:00
Rémi Verschelde ca8b229e1c
Merge pull request #80410 from bruvzg/rtl_img_features
[RTL] Add support for image dynamic updating, padding, tooltips and size in percent.
2023-09-26 13:44:46 +02:00
Rémi Verschelde 21cdedb79c
Merge pull request #77819 from 0xafbf/char-fx-tests
Make it possible to change character transform in RichTextEffect
2023-09-26 13:44:28 +02:00
bruvzg bc6585a5a7
[RTL] Add support for image dynamic updating, padding, tooltips and size in percent. 2023-09-26 09:39:51 +03:00
Yuri Sizov fe000277ea Bind remaining theme properties to their respective classes
This adds binds for GraphEdit/GraphElement/GraphNode, which were
skipped before due to a rework. This also adds binds for Window,
which was skipped before due to a complicated code organization.

Also adds theme cache entries/direct cache access to a few places
that previously missed it. Some theme properties are now exposed
to other classes via friendships or public getters for convenience.

This removes all string-based theme access from scene/ classes.
2023-09-13 19:31:35 +02:00
Yuri Sizov 2924bfd4d3 Register theme properties with ThemeDB 2023-09-11 13:45:23 +02:00
Andrés Botero eee95aff04 Add transform support to CharFXTransform
Use absolute transforms for CharFX

fix formatting
2023-08-23 00:18:37 -05:00
bruvzg 299808cc26
[RTL] Adds "lang" tag to allow overriding language specific text rendering without starting a new paragraph. 2023-08-21 14:56:43 +03:00
Hugo Locurcio e9f723006a
Use compile-time Unicode string conversion
Thanks to this syntax introduced in C++11, this reduces the amount of work
that needs to be performed at run-time while making the code more terse.
2023-08-07 10:38:16 +02:00
unknown cfe98c57b9 Add drag and drop option for line edit and rich text label 2023-07-19 22:18:34 -04:00
Hendrik Brucker 7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
Yuri Sizov 5c56206e6c Merge pull request #79011 from bruvzg/pop_all
[RTL] Add `pop_all`, `push_context` and `pop_context` methods, and use it for `print_rich` to avoid unclosed tags.
2023-07-14 18:49:21 +02:00
Yuri Sizov 7550b02dfc Merge pull request #77117 from Calinou/richtextlabel-add-pulse-effect
Add a `[pulse]` built-in effect to RichTextLabel
2023-07-12 15:08:43 +02:00
bruvzg 5216a08617
[RTL] Add `pop_all`, `push_context` and `pop_context` methods, and use it for `print_rich` to avoid unclosed tags. 2023-07-09 19:53:15 +03:00
bruvzg cda9cd7587
[RTL] Fix multithreaded resizing. 2023-06-14 23:15:16 +03:00
bruvzg 488626701d
Fix editor log flicker. 2023-06-12 20:15:23 +03:00
Hugo Locurcio 70e6c3cbb0
Add a `[pulse]` built-in effect to RichTextLabel
In games, blinking text is one of the more frequently used animations.
It can be (sparingly) used to bring attention to important messages
in a chat log or inventory tooltip, for instance.

This effect accepts the following options:

- `freq`: How fast text blinks (higher is faster).
- `color`: The target color multiplier for blinking.
  The default mostly fades out text, but not entirely (for better accessibility).
- `ease`: The easing function exponent to use.
  Negative values provide in-out easing, which is why `-2.0` is the default.
2023-06-05 18:45:00 +02:00
Rémi Verschelde a1058313a9
Merge pull request #75622 from joao-pedro-braz/parse_string_paths_with_quotes_correctly_bb_code
Make sure to normalize subtags when parsing BBCode
2023-05-24 08:45:35 +02:00
João Pedro Braz 8b6e57256f Make sure to normalize subtags when parsing BBCode
This PR makes it so that all subtags are normalized before usage.
Normalization means removing any leading and/or trailing quotation marks
from any given subtag.

Fixes: https://github.com/godotengine/godot/issues/75501
2023-05-23 18:55:06 -03:00
bruvzg fb78889904
[RichTextLabel] Add support for tab stops. 2023-05-20 22:58:51 +03:00
bruvzg 9163d8c336
Expose TextServer justification flags to Label, Label3D, TextMesh and RTL. Add flags to control last/single line justification. 2023-05-15 19:23:54 +03:00
bruvzg 282e4231c2
Improve line BiDi handling, prevent crash on recursive log updates. 2023-04-12 11:39:05 +03:00
Timothée Giet e861ea5903 Add translation support to RichTextLabel
BUG: 34050
add translation support to RichTextLabel, and respect its Auto Translate setting
2023-04-11 14:17:59 +02:00
bruvzg 4793b6eee9
[RTL] Add option to customize list bullet, use U+2022 by default. 2023-03-17 09:34:28 +02:00
George L. Albany f3313ba4cd
Remove methods in header removed in c7eb814
c7eb814 missed these methods in the RichTextLabel's header
Remove set_override_selected_font_color from rich_text_label.h
Remove is_override_selected_font_color from rich_text_label.h
c7eb814 missed these methods in the TextEdit's header
Remove set_override_selected_font_color from text_edit.h
Remove is_override_selected_font_color from text_edit.h
2023-03-15 21:13:38 -04:00
RedMser 22dd621cf9 RichTextLabel fixes
- Unexpose ItemType enum, since it is not used in public API.
- Fix documentation for meta tag, since it has no BBCode equivalent.
2023-02-14 17:20:05 +01:00
Danil Alexeev fb107e04d3
Fix `RichTextLabel` context menu not customizable 2023-02-03 12:07:36 +03:00
bruvzg 0cc1f4240a
[RichTextLabel] Fix thread unsafe `set_physics_process_internal` usage. Use `WorkerThreadPool` instead of creating new threads. 2023-01-30 20:47:45 +02:00
Hendrik Brucker e59d6b1b8c [RichTextLabel] Match minimum size calculation of Label
(optional via fit_content property)
2023-01-13 15:17:26 +01:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Koyper e846b22da6 Renamed RTL remove_line() to remove_paragraph(). 2022-12-21 11:54:18 -06:00
bruvzg 53c76fa5d1
[RTL/TextServer] Add baseline inline alignment mode for objects and RTL tables. 2022-12-15 23:16:02 +02:00
bruvzg 889bcff24f
[RTL] Fix search method not taking nested frame and line wraps into account. 2022-12-04 22:11:21 +02:00
kobewi c7eb814ede Remove override_selected_font_color property 2022-10-26 12:59:18 +02:00
Petra Baranski 546e017613 Add Spritesheet support to RichTextLabel BBCode
BBCode: [img region=0,0,16,16]res://icon.svg[/img]
2022-10-11 13:04:15 +02:00
bruvzg 0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
bruvzg 970592274d
[RTL] Fix font variations / OpenType features of theme default font not updated when default font is changed. 2022-09-26 13:04:40 +03:00
bruvzg 46af7cbfdd
[RTL] Add option to apply built-in effects to the individual connected glyphs. 2022-09-19 18:10:32 +03:00
bruvzg 2a0b4244b7
Fix RichTextLabel not updating on theme/theme override change until text is updated. 2022-09-16 22:24:11 +03:00
Yuri Sizov fc7cef8dec Fix theme propagation in various parts of the editor 2022-09-02 13:18:31 +03:00
Micky 64bd36ecee Rename Label & RichTextLabel.`percent_visible` to `visible_ratio`
Also updates the documentation of both `visible_characters` and `visible_ratio` to, better describe what they do and improve consistency between the two Classes.
2022-08-26 12:15:57 +02:00
bruvzg 80a47ab0f9
[RTL] Improve meta click position. 2022-08-23 09:57:22 +03:00