Commit graph

522 commits

Author SHA1 Message Date
bruvzg
49595ca225
[RTL] Remove unnecessary glyph position rounding. 2023-10-08 12:38:06 +03: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
56e54b49b6 Merge pull request #81551 from YuriSizov/gui-cache-all-the-theme
Bind remaining theme properties to their respective classes
2023-09-14 15:21:45 +02: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
A Thousand Ships
a29416e332 [Scene,Main] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-12 12:53:06 +02:00
Rémi Verschelde
5c43e4c1ef
Fix various typos with codespell
Using 2.2.6.dev180+ge3a2cfbd.
2023-09-12 08:54:18 +02:00
Yuri Sizov
2924bfd4d3 Register theme properties with ThemeDB 2023-09-11 13:45:23 +02:00
Rémi Verschelde
ba1089689a
Merge pull request #80954 from bruvzg/sp_per_font
[Text Server] Store extra spacing of individual font variations.
2023-08-28 20:37:58 +02:00
Rémi Verschelde
713bfaf5ea
Merge pull request #81064 from bruvzg/rtl_char_count_line_edge
[RTL] Fix character line index for non-visual characters and characters on the line edge.
2023-08-28 12:12:22 +02:00
Rémi Verschelde
b00796eb1a
Merge pull request #79818 from garychia/select_all
RichTextLabel: Ensure the `select_all` function selects all items
2023-08-28 12:03:29 +02:00
bruvzg
2273509721
[RTL] Fix character line index for non-visual characters and characters on the line edge. 2023-08-28 10:50:01 +03:00
bruvzg
88177a5a58
[RTL] Use list iterators for item/paragraph removal. 2023-08-25 17:49:13 +03:00
Chia-Hsiang Cheng
d66c7a2ac5 Ensure the 'select_all' function selects all items 2023-08-25 21:07:33 +08:00
bruvzg
5453503697
[Text Server] Store extra spacing of individual font variations. 2023-08-24 11:58:12 +03: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
Rémi Verschelde
8e0346bade
Merge pull request #80848 from bruvzg/rtl_lang
[RTL] Adds "lang" tag to allow overriding language specific text rendering without starting a new paragraph.
2023-08-21 19:32:29 +02: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
bruvzg
cd6b0368f6
[RTL] Fix remove_paragraph crashes. 2023-08-21 14:36:07 +03:00
Rémi Verschelde
b51ee8b029
Merge pull request #80650 from bruvzg/comp_char_fix
[TextServer] Fix system font fallback and caret/selection behavior for composite characters.
2023-08-18 17:24:54 +02:00
bruvzg
5d3fcc5766
[TextServer] Fix system font fallback and caret/selection behavior for composite characters. 2023-08-15 11:42:40 +03:00
bruvzg
3709ca5404
[RTL] Improve scroll bar responsiveness during updates. 2023-08-14 11:36:05 +03:00
Rémi Verschelde
3e958cfa8d
Merge pull request #79705 from 398utubzyt/gui/snap-charfx-fix
GUI: Snap CharFX offset to nearest pixel when setting is enabled
2023-08-02 12:18:46 +02:00
Rémi Verschelde
d8cbb6d645
Merge pull request #79563 from danny88881/drag-and-drop-text-setting
Add drag'n'drop text option for `LineEdit` and `RichTextLabel`
2023-08-02 12:17:56 +02:00
Yuri Sizov
e38dc58199 Merge pull request #76759 from Nidjo123/master
Fix RichTextLabel character line and paragraph index getters
2023-07-21 17:54:11 +02:00
398utubzyt
aac2dfc1b4 Snap CharFX transforms to pixels when enabled 2023-07-20 06:01:08 -07: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
5167bed9f0 Merge pull request #79053 from Daylily-Zeleen/daylily-zeleen/rich_text_label_missing_default_method_value
Bind missing default value for `RichTextLabel` methods.
2023-07-12 15:09:41 +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
Daylily-Zeleen
4029a05fae Add missing default value for RichTextLabel method 2023-07-11 11:17:45 +08: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
Rémi Verschelde
1b38e9258b
Merge pull request #78975 from YuriSizov/rtl-fix-refactoring-typo
Prevent crash when processing line caches in `RichTextLabel`
2023-07-03 15:26:31 +02:00
Yuri Sizov
40f2227a65 Prevent crash when processing line caches in RichTextLabel 2023-07-03 13:33:51 +02:00
bruvzg
21365606d3
[RTL] Fix multithreaded scrollbar visibility update 2. 2023-07-03 10:34:42 +03:00
bruvzg
ec97c7c1d9
[RTL] Fix multithreaded scrollbar visibility update. 2023-06-29 15:37:54 +03:00
bruvzg
cda9cd7587
[RTL] Fix multithreaded resizing. 2023-06-14 23:15:16 +03:00
bruvzg
38b8e23206
[RTL] Fix parsing tags with multiple features. 2023-06-13 15:24:30 +03:00
bruvzg
488626701d
Fix editor log flicker. 2023-06-12 20:15:23 +03:00
Rémi Verschelde
37d1dfef9d
Merge pull request #78000 from RandomShaper/let_users_mess_up
Let user scripts disable thread safety checks
2023-06-10 12:12:13 +02:00
Ninni Pipping
dcd2b883eb Use NULL instead of COND checks when appropriate
Restricted to scene
2023-06-10 08:56:30 +02:00
Pedro J. Estébanez
2b001db76e Let user scripts disable thread safety checks 2023-06-09 18:24:01 +02: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
Rémi Verschelde
adbdf9a86e
Merge pull request #77234 from RandomShaper/fix_rtl_mt
Allow threads to mark themselves as safe for nodes
2023-05-24 08:42:59 +02:00
Pedro J. Estébanez
e725b4b02b Allow threads to mark themselves as safe for nodes 2023-05-24 00:22:58 +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
Nikola Bunjevac
e2536d0643 Fix RichTextLabel character line and paragraph index getters 2023-05-05 21:10:27 +02:00
Rémi Verschelde
fb3e4e7967
Merge pull request #75975 from bruvzg/bidi_and_log_errors
Improve line BiDi handling, prevent crash on recursive log updates.
2023-04-12 13:28:12 +02:00
bruvzg
282e4231c2
Improve line BiDi handling, prevent crash on recursive log updates. 2023-04-12 11:39:05 +03:00
bruvzg
d904516e55
[TextServer] Use dedicated flag for object replacement characters. 2023-04-12 10:08:51 +03:00
Rémi Verschelde
23a3e3984b
Merge pull request #74117 from Animtim/RichTextLabel_LocalizationFix
Add translation support to RichTextLabel
2023-04-11 19:40:07 +02:00
Yuri Sizov
ca808c88a4
Merge pull request #71747 from Koyper/rich_text_label_dropcap_selection_bug
Fixed RichTextLabel wrong selection offset after drop cap
2023-04-11 18:25:39 +02:00
Koyper
99376eebe0 Fixed RichTextLabel wrong selection offset after drop cap. 2023-04-11 10:09:26 -05: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
Yuri Sizov
6a65597569
Merge pull request #71742 from Koyper/rich_text_label_cell_padding_select_bug
Fixed RichTextLabel wrong selection offset in padded table cell.
2023-04-11 13:16:35 +02:00
kobewi
36141dc469 Fix get_drag_data not overridable in some Controls 2023-03-20 21:42:13 +01:00
bruvzg
4793b6eee9
[RTL] Add option to customize list bullet, use U+2022 by default. 2023-03-17 09:34:28 +02:00
Paweł Fertyk
44592c8c19 Fix RichTextLabel crash with out of bound exception
Fixes #68242.
2023-02-28 22:49:57 +01:00
Yuri Sizov
28b7556914 Ensure minimal thickness for RichTextLabel underlines 2023-02-19 13:42:25 +01:00
bruvzg
7246b229e1
Set RTL minimal dash size to 2.0, add invalid dash size error to the draw_dashed_line. 2023-02-17 08:53:08 +02: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
Rémi Verschelde
af1ef4c94f
Merge pull request #72149 from MinusKube/rich_text_visible_chars_bug
Fix char offset calculation when processing RichTextLabel line caches
2023-01-27 10:30:15 +01:00
MinusKube
03df4e3fce Fix char offset calculation when processing RichTextLabel line caches 2023-01-27 01:54:47 +01:00
Rémi Verschelde
8cebd0a2ce
Merge pull request #71983 from vmedea/push-customfx
Expose RichTextLabel::push_customfx to GDScript
2023-01-25 14:41:01 +01:00
Rémi Verschelde
fd66a86d72
Merge pull request #71330 from Geometror/richtextlabel-fit-content
[RichTextLabel] Match minimum size calculation of Label (proper content fitting)
2023-01-25 09:16:38 +01:00
mara
be733ea3d1 Expose RichTextLabel::push_customfx to GDScript 2023-01-24 18:16:24 +01:00
Koyper
6f11cf7d31 Fixed RichTextLabel wrong selection offset in padded table cell. 2023-01-20 09:55:27 -06:00
bruvzg
5361ec9f43
Implement BiDi override mode for GDScript source. 2023-01-18 19:22:20 +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
312703ca1f
Merge pull request #70566 from cg9999/richtextlabel_fix
Fix crash in RichTextLabel table parsing
2023-01-12 14:52:02 +01:00
Henri Valta
81d0f42800 Fix crash in RichTextLabel table parsing
Fixed with help of feedback from bruvzg. Prevents invalid items getting to stack.
2023-01-12 12:27:25 +02: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
Yuri Sizov
ecc5c275f4
Merge pull request #70407 from Koyper/rich_text_bold_italics
[RTL] Fix push bold or italics not using bold_italics_font when required
2022-12-23 00:10:53 +03:00
Koyper
81343ae210 Fixed RichTextLabel push bold/italic to correctly use bold_italic font. 2022-12-22 13:30:52 -06: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
ca5a3d0c68
[RTL] Fix nested tables getting parent offset applied multiple times. 2022-12-15 14:05:21 +02:00
bruvzg
dd7b095f7f
[RTL] Fix image click detection. 2022-12-14 21:27:00 +02:00
Lluc Pares
2005b5c44a RichTextLabel: decouple meta cursor from underline
This commit decouples the type of cursor used when the underline
of meta tag is set to False. Previous to this commit setting the
meta underline to false in the RichTextLabel would also make it
show the arrow cursor instead of the hand cursor.

Making the meta tag with no underline should not have any effect
on the type of cursor, since the text will still be clickable it
should be expected to have a hand cursor.

The same behavior is seen in other languages, like HTML+CSS, where
the setting "text-decoration" to "none" for the links, disables
the underline but maintains the clickable cursor.

Fixes godotengine/godot-proposals#3193
2022-12-08 09:43:41 +01:00
bruvzg
889bcff24f
[RTL] Fix search method not taking nested frame and line wraps into account. 2022-12-04 22:11:21 +02:00
bruvzg
0541c746ee
[RichTextEffect] Restore missing relative_index property. 2022-12-02 09:50:54 +02:00
Iceflower
908f392af6
Rename theme cache separation names 2022-11-30 16:06:14 +01:00
Rémi Verschelde
5d20dccade
Add MAKE_RESOURCE_TYPE_HINT macro to simplify binding arrays of resources 2022-11-24 14:06:00 +01:00
Hana
125d7deaff add possibility to use only one color 2022-11-23 21:47:22 +01:00
bruvzg
9b14b5b483
Fix multithreaded RTL resetting scroll position on resize. 2022-11-17 16:26:06 +02:00
bruvzg
3add6dcd89
Add Control::localize_numeral_system property to toggle automatic numeral system conversion. 2022-11-17 14:59:56 +02:00
Markus Sauermann
3b14f0334c Remove redundant Variant-types initializations 2022-11-14 19:35:19 +01:00
Rémi Verschelde
b6cbea5e58
Merge pull request #63590 from golfinq/fbg-padding
Add padding options in theme for fg/bgcolor tags in RichTextLabel
2022-10-31 11:14:55 +01:00
kobewi
c7eb814ede Remove override_selected_font_color property 2022-10-26 12:59:18 +02:00
Rémi Verschelde
2ffb609658 Merge pull request #66337 from EricEzaM/sprite-frames
Ensure control built-in shortcuts are matched exactly & add shortcuts for SpriteFrames editor
2022-10-13 15:24:39 +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
Rémi Verschelde
7ab01450cf Fix MSVC warning C4702: unreachable code
Part of #66537.
2022-09-28 16:46:48 +02:00