summaryrefslogtreecommitdiffstats
path: root/servers/text
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-03-12 14:23:03 +0100
committerRémi Verschelde <rverschelde@gmail.com>2024-03-12 14:23:03 +0100
commit061e0c758ddbb569c63b918d2b3e613f6aa5b6b7 (patch)
treeaa99847dfa9bd40a1a5616636da212681e917d33 /servers/text
parent9c99d4c3b4fdb9e5552d3d7bf9c3a744fb9e2fd4 (diff)
parent433de7f1a86191d912d8cd5e2ed53e76916170fe (diff)
downloadredot-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.cpp14
-rw-r--r--servers/text/text_server_extension.h4
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;