diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-03-12 14:23:03 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-03-12 14:23:03 +0100 |
commit | 061e0c758ddbb569c63b918d2b3e613f6aa5b6b7 (patch) | |
tree | aa99847dfa9bd40a1a5616636da212681e917d33 /servers/text | |
parent | 9c99d4c3b4fdb9e5552d3d7bf9c3a744fb9e2fd4 (diff) | |
parent | 433de7f1a86191d912d8cd5e2ed53e76916170fe (diff) | |
download | redot-engine-061e0c758ddbb569c63b918d2b3e613f6aa5b6b7.tar.gz |
Merge pull request #89395 from bruvzg/rtl_ts_img_range
[RTL] Use "visible characters" property for inline object visibility
Diffstat (limited to 'servers/text')
-rw-r--r-- | servers/text/text_server_extension.cpp | 14 | ||||
-rw-r--r-- | servers/text/text_server_extension.h | 4 |
2 files changed, 18 insertions, 0 deletions
diff --git a/servers/text/text_server_extension.cpp b/servers/text/text_server_extension.cpp index a01408f151..113972d20d 100644 --- a/servers/text/text_server_extension.cpp +++ b/servers/text/text_server_extension.cpp @@ -296,6 +296,8 @@ void TextServerExtension::_bind_methods() { GDVIRTUAL_BIND(_shaped_text_get_objects, "shaped"); GDVIRTUAL_BIND(_shaped_text_get_object_rect, "shaped", "key"); + GDVIRTUAL_BIND(_shaped_text_get_object_range, "shaped", "key"); + GDVIRTUAL_BIND(_shaped_text_get_object_glyph, "shaped", "key"); GDVIRTUAL_BIND(_shaped_text_get_size, "shaped"); GDVIRTUAL_BIND(_shaped_text_get_ascent, "shaped"); @@ -1297,6 +1299,18 @@ Rect2 TextServerExtension::shaped_text_get_object_rect(const RID &p_shaped, cons return ret; } +Vector2i TextServerExtension::shaped_text_get_object_range(const RID &p_shaped, const Variant &p_key) const { + Vector2i ret; + GDVIRTUAL_CALL(_shaped_text_get_object_range, p_shaped, p_key, ret); + return ret; +} + +int64_t TextServerExtension::shaped_text_get_object_glyph(const RID &p_shaped, const Variant &p_key) const { + int64_t ret = -1; + GDVIRTUAL_CALL(_shaped_text_get_object_glyph, p_shaped, p_key, ret); + return ret; +} + Size2 TextServerExtension::shaped_text_get_size(const RID &p_shaped) const { Size2 ret; GDVIRTUAL_CALL(_shaped_text_get_size, p_shaped, ret); diff --git a/servers/text/text_server_extension.h b/servers/text/text_server_extension.h index 935752e25a..84d68de4fa 100644 --- a/servers/text/text_server_extension.h +++ b/servers/text/text_server_extension.h @@ -491,8 +491,12 @@ public: virtual Array shaped_text_get_objects(const RID &p_shaped) const override; virtual Rect2 shaped_text_get_object_rect(const RID &p_shaped, const Variant &p_key) const override; + virtual Vector2i shaped_text_get_object_range(const RID &p_shaped, const Variant &p_key) const override; + virtual int64_t shaped_text_get_object_glyph(const RID &p_shaped, const Variant &p_key) const override; GDVIRTUAL1RC(Array, _shaped_text_get_objects, RID); GDVIRTUAL2RC(Rect2, _shaped_text_get_object_rect, RID, const Variant &); + GDVIRTUAL2RC(Vector2i, _shaped_text_get_object_range, RID, const Variant &); + GDVIRTUAL2RC(int64_t, _shaped_text_get_object_glyph, RID, const Variant &); virtual Size2 shaped_text_get_size(const RID &p_shaped) const override; virtual double shaped_text_get_ascent(const RID &p_shaped) const override; |