summaryrefslogtreecommitdiff
path: root/servers
diff options
context:
space:
mode:
authorbruvzg <7645683+bruvzg@users.noreply.github.com>2022-02-13 14:41:29 +0200
committerbruvzg <7645683+bruvzg@users.noreply.github.com>2022-03-17 08:15:29 +0200
commitf19cd44346a68a649cabfe85cc3ba7a44ceb0ca4 (patch)
tree16f36f18199b28305e92084b4790d664632f3fac /servers
parent178961a6dc14155c0e65ec0040a2b2b328550317 (diff)
Unify TextServer built-in module and GDExtension code.
Diffstat (limited to 'servers')
-rw-r--r--servers/register_server_types.cpp2
-rw-r--r--servers/text/text_server_dummy.h48
-rw-r--r--servers/text/text_server_extension.cpp1156
-rw-r--r--servers/text/text_server_extension.h811
-rw-r--r--servers/text_server.cpp52
-rw-r--r--servers/text_server.h442
6 files changed, 1253 insertions, 1258 deletions
diff --git a/servers/register_server_types.cpp b/servers/register_server_types.cpp
index f73407ad34..9843492316 100644
--- a/servers/register_server_types.cpp
+++ b/servers/register_server_types.cpp
@@ -72,6 +72,7 @@
#include "rendering_server.h"
#include "servers/extensions/physics_server_3d_extension.h"
#include "servers/rendering/shader_types.h"
+#include "text/text_server_dummy.h"
#include "text/text_server_extension.h"
#include "text_server.h"
#include "xr/xr_interface.h"
@@ -113,6 +114,7 @@ void preregister_server_types() {
GDREGISTER_CLASS(TextServerManager);
GDREGISTER_ABSTRACT_CLASS(TextServer);
GDREGISTER_CLASS(TextServerExtension);
+ GDREGISTER_CLASS(TextServerDummy);
GDREGISTER_NATIVE_STRUCT(Glyph, "int start = -1;int end = -1;uint8_t count = 0;uint8_t repeat = 1;uint16_t flags = 0;float x_off = 0.f;float y_off = 0.f;float advance = 0.f;RID font_rid;int font_size = 0;int32_t index = 0");
GDREGISTER_NATIVE_STRUCT(CaretInfo, "Rect2 leading_caret;Rect2 trailing_caret;TextServer::Direction leading_direction;TextServer::Direction trailing_direction");
diff --git a/servers/text/text_server_dummy.h b/servers/text/text_server_dummy.h
new file mode 100644
index 0000000000..c603881b7c
--- /dev/null
+++ b/servers/text/text_server_dummy.h
@@ -0,0 +1,48 @@
+/*************************************************************************/
+/* text_server_dummy.h */
+/*************************************************************************/
+/* This file is part of: */
+/* GODOT ENGINE */
+/* https://godotengine.org */
+/*************************************************************************/
+/* Copyright (c) 2007-2022 Juan Linietsky, Ariel Manzur. */
+/* Copyright (c) 2014-2022 Godot Engine contributors (cf. AUTHORS.md). */
+/* */
+/* Permission is hereby granted, free of charge, to any person obtaining */
+/* a copy of this software and associated documentation files (the */
+/* "Software"), to deal in the Software without restriction, including */
+/* without limitation the rights to use, copy, modify, merge, publish, */
+/* distribute, sublicense, and/or sell copies of the Software, and to */
+/* permit persons to whom the Software is furnished to do so, subject to */
+/* the following conditions: */
+/* */
+/* The above copyright notice and this permission notice shall be */
+/* included in all copies or substantial portions of the Software. */
+/* */
+/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */
+/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */
+/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/
+/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */
+/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */
+/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */
+/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
+/*************************************************************************/
+
+#ifndef TEXT_SERVER_DUMMY_H
+#define TEXT_SERVER_DUMMY_H
+
+#include "servers/text/text_server_extension.h"
+
+/*************************************************************************/
+
+class TextServerDummy : public TextServerExtension {
+ GDCLASS(TextServerDummy, TextServerExtension);
+ _THREAD_SAFE_CLASS_
+
+public:
+ virtual String get_name() const override {
+ return "Dummy";
+ }
+};
+
+#endif // TEXT_SERVER_DUMMY_H
diff --git a/servers/text/text_server_extension.cpp b/servers/text/text_server_extension.cpp
index 1a10161a5b..c8efacc9c5 100644
--- a/servers/text/text_server_extension.cpp
+++ b/servers/text/text_server_extension.cpp
@@ -31,267 +31,269 @@
#include "text_server_extension.h"
void TextServerExtension::_bind_methods() {
- GDVIRTUAL_BIND(_has_feature, "feature");
- GDVIRTUAL_BIND(_get_name);
- GDVIRTUAL_BIND(_get_features);
+ GDVIRTUAL_BIND(has_feature, "feature");
+ GDVIRTUAL_BIND(get_name);
+ GDVIRTUAL_BIND(get_features);
- GDVIRTUAL_BIND(_free, "rid");
- GDVIRTUAL_BIND(_has, "rid");
- GDVIRTUAL_BIND(_load_support_data, "filename");
+ GDVIRTUAL_BIND(free_rid, "rid");
+ GDVIRTUAL_BIND(has, "rid");
+ GDVIRTUAL_BIND(load_support_data, "filename");
- GDVIRTUAL_BIND(_get_support_data_filename);
- GDVIRTUAL_BIND(_get_support_data_info);
- GDVIRTUAL_BIND(_save_support_data, "filename");
+ GDVIRTUAL_BIND(get_support_data_filename);
+ GDVIRTUAL_BIND(get_support_data_info);
+ GDVIRTUAL_BIND(save_support_data, "filename");
- GDVIRTUAL_BIND(_is_locale_right_to_left, "locale");
+ GDVIRTUAL_BIND(is_locale_right_to_left, "locale");
- GDVIRTUAL_BIND(_name_to_tag, "name");
- GDVIRTUAL_BIND(_tag_to_name, "tag");
+ GDVIRTUAL_BIND(name_to_tag, "name");
+ GDVIRTUAL_BIND(tag_to_name, "tag");
/* Font interface */
- GDVIRTUAL_BIND(_create_font);
+ GDVIRTUAL_BIND(create_font);
- GDVIRTUAL_BIND(_font_set_data, "font_rid", "data");
- GDVIRTUAL_BIND(_font_set_data_ptr, "font_rid", "data_ptr", "data_size");
+ GDVIRTUAL_BIND(font_set_data, "font_rid", "data");
+ GDVIRTUAL_BIND(font_set_data_ptr, "font_rid", "data_ptr", "data_size");
- GDVIRTUAL_BIND(_font_set_style, "font_rid", "style");
- GDVIRTUAL_BIND(_font_get_style, "font_rid");
+ GDVIRTUAL_BIND(font_set_style, "font_rid", "style");
+ GDVIRTUAL_BIND(font_get_style, "font_rid");
- GDVIRTUAL_BIND(_font_set_name, "font_rid", "name");
- GDVIRTUAL_BIND(_font_get_name, "font_rid");
+ GDVIRTUAL_BIND(font_set_name, "font_rid", "name");
+ GDVIRTUAL_BIND(font_get_name, "font_rid");
- GDVIRTUAL_BIND(_font_set_style_name, "font_rid", "name_style");
- GDVIRTUAL_BIND(_font_get_style_name, "font_rid");
+ GDVIRTUAL_BIND(font_set_style_name, "font_rid", "name_style");
+ GDVIRTUAL_BIND(font_get_style_name, "font_rid");
- GDVIRTUAL_BIND(_font_set_antialiased, "font_rid", "antialiased");
- GDVIRTUAL_BIND(_font_is_antialiased, "font_rid");
+ GDVIRTUAL_BIND(font_set_antialiased, "font_rid", "antialiased");
+ GDVIRTUAL_BIND(font_is_antialiased, "font_rid");
- GDVIRTUAL_BIND(_font_set_multichannel_signed_distance_field, "font_rid", "msdf");
- GDVIRTUAL_BIND(_font_is_multichannel_signed_distance_field, "font_rid");
+ GDVIRTUAL_BIND(font_set_multichannel_signed_distance_field, "font_rid", "msdf");
+ GDVIRTUAL_BIND(font_is_multichannel_signed_distance_field, "font_rid");
- GDVIRTUAL_BIND(_font_set_msdf_pixel_range, "font_rid", "msdf_pixel_range");
- GDVIRTUAL_BIND(_font_get_msdf_pixel_range, "font_rid");
+ GDVIRTUAL_BIND(font_set_msdf_pixel_range, "font_rid", "msdf_pixel_range");
+ GDVIRTUAL_BIND(font_get_msdf_pixel_range, "font_rid");
- GDVIRTUAL_BIND(_font_set_msdf_size, "font_rid", "msdf_size");
- GDVIRTUAL_BIND(_font_get_msdf_size, "font_rid");
+ GDVIRTUAL_BIND(font_set_msdf_size, "font_rid", "msdf_size");
+ GDVIRTUAL_BIND(font_get_msdf_size, "font_rid");
- GDVIRTUAL_BIND(_font_set_fixed_size, "font_rid", "fixed_size");
- GDVIRTUAL_BIND(_font_get_fixed_size, "font_rid");
+ GDVIRTUAL_BIND(font_set_fixed_size, "font_rid", "fixed_size");
+ GDVIRTUAL_BIND(font_get_fixed_size, "font_rid");
- GDVIRTUAL_BIND(_font_set_force_autohinter, "font_rid", "force_autohinter");
- GDVIRTUAL_BIND(_font_is_force_autohinter, "font_rid");
+ GDVIRTUAL_BIND(font_set_force_autohinter, "font_rid", "force_autohinter");
+ GDVIRTUAL_BIND(font_is_force_autohinter, "font_rid");
- GDVIRTUAL_BIND(_font_set_hinting, "font_rid", "hinting");
- GDVIRTUAL_BIND(_font_get_hinting, "font_rid");
+ GDVIRTUAL_BIND(font_set_hinting, "font_rid", "hinting");
+ GDVIRTUAL_BIND(font_get_hinting, "font_rid");
- GDVIRTUAL_BIND(_font_set_subpixel_positioning, "font_rid", "subpixel_positioning");
- GDVIRTUAL_BIND(_font_get_subpixel_positioning, "font_rid");
+ GDVIRTUAL_BIND(font_set_subpixel_positioning, "font_rid", "subpixel_positioning");
+ GDVIRTUAL_BIND(font_get_subpixel_positioning, "font_rid");
- GDVIRTUAL_BIND(_font_set_embolden, "font_rid", "strength");
- GDVIRTUAL_BIND(_font_get_embolden, "font_rid");
+ GDVIRTUAL_BIND(font_set_embolden, "font_rid", "strength");
+ GDVIRTUAL_BIND(font_get_embolden, "font_rid");
- GDVIRTUAL_BIND(_font_set_transform, "font_rid", "transform");
- GDVIRTUAL_BIND(_font_get_transform, "font_rid");
+ GDVIRTUAL_BIND(font_set_transform, "font_rid", "transform");
+ GDVIRTUAL_BIND(font_get_transform, "font_rid");
- GDVIRTUAL_BIND(_font_set_variation_coordinates, "font_rid", "variation_coordinates");
- GDVIRTUAL_BIND(_font_get_variation_coordinates, "font_rid");
+ GDVIRTUAL_BIND(font_set_variation_coordinates, "font_rid", "variation_coordinates");
+ GDVIRTUAL_BIND(font_get_variation_coordinates, "font_rid");
- GDVIRTUAL_BIND(_font_set_oversampling, "font_rid", "oversampling");
- GDVIRTUAL_BIND(_font_get_oversampling, "font_rid");
+ GDVIRTUAL_BIND(font_set_oversampling, "font_rid", "oversampling");
+ GDVIRTUAL_BIND(font_get_oversampling, "font_rid");
- GDVIRTUAL_BIND(_font_get_size_cache_list, "font_rid");
- GDVIRTUAL_BIND(_font_clear_size_cache, "font_rid");
- GDVIRTUAL_BIND(_font_remove_size_cache, "font_rid", "size");
+ GDVIRTUAL_BIND(font_get_size_cache_list, "font_rid");
+ GDVIRTUAL_BIND(font_clear_size_cache, "font_rid");
+ GDVIRTUAL_BIND(font_remove_size_cache, "font_rid", "size");
- GDVIRTUAL_BIND(_font_set_ascent, "font_rid", "size", "ascent");
- GDVIRTUAL_BIND(_font_get_ascent, "font_rid", "size");
+ GDVIRTUAL_BIND(font_set_ascent, "font_rid", "size", "ascent");
+ GDVIRTUAL_BIND(font_get_ascent, "font_rid", "size");
- GDVIRTUAL_BIND(_font_set_descent, "font_rid", "size", "descent");
- GDVIRTUAL_BIND(_font_get_descent, "font_rid", "size");
+ GDVIRTUAL_BIND(font_set_descent, "font_rid", "size", "descent");
+ GDVIRTUAL_BIND(font_get_descent, "font_rid", "size");
- GDVIRTUAL_BIND(_font_set_underline_position, "font_rid", "size", "underline_position");
- GDVIRTUAL_BIND(_font_get_underline_position, "font_rid", "size");
+ GDVIRTUAL_BIND(font_set_underline_position, "font_rid", "size", "underline_position");
+ GDVIRTUAL_BIND(font_get_underline_position, "font_rid", "size");
- GDVIRTUAL_BIND(_font_set_underline_thickness, "font_rid", "size", "underline_thickness");
- GDVIRTUAL_BIND(_font_get_underline_thickness, "font_rid", "size");
+ GDVIRTUAL_BIND(font_set_underline_thickness, "font_rid", "size", "underline_thickness");
+ GDVIRTUAL_BIND(font_get_underline_thickness, "font_rid", "size");
- GDVIRTUAL_BIND(_font_set_scale, "font_rid", "size", "scale");
- GDVIRTUAL_BIND(_font_get_scale, "font_rid", "size");
+ GDVIRTUAL_BIND(font_set_scale, "font_rid", "size", "scale");
+ GDVIRTUAL_BIND(font_get_scale, "font_rid", "size");
- GDVIRTUAL_BIND(_font_set_spacing, "font_rid", "size", "spacing", "value");
- GDVIRTUAL_BIND(_font_get_spacing, "font_rid", "size", "spacing");
+ GDVIRTUAL_BIND(font_set_spacing, "font_rid", "size", "spacing", "value");
+ GDVIRTUAL_BIND(font_get_spacing, "font_rid", "size", "spacing");
- GDVIRTUAL_BIND(_font_get_texture_count, "font_rid", "size");
- GDVIRTUAL_BIND(_font_clear_textures, "font_rid", "size");
- GDVIRTUAL_BIND(_font_remove_texture, "font_rid", "size", "texture_index");
+ GDVIRTUAL_BIND(font_get_texture_count, "font_rid", "size");
+ GDVIRTUAL_BIND(font_clear_textures, "font_rid", "size");
+ GDVIRTUAL_BIND(font_remove_texture, "font_rid", "size", "texture_index");
- GDVIRTUAL_BIND(_font_set_texture_image, "font_rid", "size", "texture_index", "image");
- GDVIRTUAL_BIND(_font_get_texture_image, "font_rid", "size", "texture_index");
+ GDVIRTUAL_BIND(font_set_texture_image, "font_rid", "size", "texture_index", "image");
+ GDVIRTUAL_BIND(font_get_texture_image, "font_rid", "size", "texture_index");
- GDVIRTUAL_BIND(_font_set_texture_offsets, "font_rid", "size", "texture_index", "offset");
- GDVIRTUAL_BIND(_font_get_texture_offsets, "font_rid", "size", "texture_index");
+ GDVIRTUAL_BIND(font_set_texture_offsets, "font_rid", "size", "texture_index", "offset");
+ GDVIRTUAL_BIND(font_get_texture_offsets, "font_rid", "size", "texture_index");
- GDVIRTUAL_BIND(_font_get_glyph_list, "font_rid", "size");
- GDVIRTUAL_BIND(_font_clear_glyphs, "font_rid", "size");
- GDVIRTUAL_BIND(_font_remove_glyph, "font_rid", "size", "glyph");
+ GDVIRTUAL_BIND(font_get_glyph_list, "font_rid", "size");
+ GDVIRTUAL_BIND(font_clear_glyphs, "font_rid", "size");
+ GDVIRTUAL_BIND(font_remove_glyph, "font_rid", "size", "glyph");
- GDVIRTUAL_BIND(_font_get_glyph_advance, "font_rid", "size", "glyph");
- GDVIRTUAL_BIND(_font_set_glyph_advance, "font_rid", "size", "glyph", "advance");
+ GDVIRTUAL_BIND(font_get_glyph_advance, "font_rid", "size", "glyph");
+ GDVIRTUAL_BIND(font_set_glyph_advance, "font_rid", "size", "glyph", "advance");
- GDVIRTUAL_BIND(_font_get_glyph_offset, "font_rid", "size", "glyph");
- GDVIRTUAL_BIND(_font_set_glyph_offset, "font_rid", "size", "glyph", "offset");
+ GDVIRTUAL_BIND(font_get_glyph_offset, "font_rid", "size", "glyph");
+ GDVIRTUAL_BIND(font_set_glyph_offset, "font_rid", "size", "glyph", "offset");
- GDVIRTUAL_BIND(_font_get_glyph_size, "font_rid", "size", "glyph");
- GDVIRTUAL_BIND(_font_set_glyph_size, "font_rid", "size", "glyph", "gl_size");
+ GDVIRTUAL_BIND(font_get_glyph_size, "font_rid", "size", "glyph");
+ GDVIRTUAL_BIND(font_set_glyph_size, "font_rid", "size", "glyph", "gl_size");
- GDVIRTUAL_BIND(_font_get_glyph_uv_rect, "font_rid", "size", "glyph");
- GDVIRTUAL_BIND(_font_set_glyph_uv_rect, "font_rid", "size", "glyph", "uv_rect");
+ GDVIRTUAL_BIND(font_get_glyph_uv_rect, "font_rid", "size", "glyph");
+ GDVIRTUAL_BIND(font_set_glyph_uv_rect, "font_rid", "size", "glyph", "uv_rect");
- GDVIRTUAL_BIND(_font_get_glyph_texture_idx, "font_rid", "size", "glyph");
- GDVIRTUAL_BIND(_font_set_glyph_texture_idx, "font_rid", "size", "glyph", "texture_idx");
+ GDVIRTUAL_BIND(font_get_glyph_texture_idx, "font_rid", "size", "glyph");
+ GDVIRTUAL_BIND(font_set_glyph_texture_idx, "font_rid", "size", "glyph", "texture_idx");
- GDVIRTUAL_BIND(_font_get_glyph_contours, "font_rid", "size", "index");
+ GDVIRTUAL_BIND(font_get_glyph_contours, "font_rid", "size", "index");
- GDVIRTUAL_BIND(_font_get_kerning_list, "font_rid", "size");
- GDVIRTUAL_BIND(_font_clear_kerning_map, "font_rid", "size");
- GDVIRTUAL_BIND(_font_remove_kerning, "font_rid", "size", "glyph_pair");
+ GDVIRTUAL_BIND(font_get_kerning_list, "font_rid", "size");
+ GDVIRTUAL_BIND(font_clear_kerning_map, "font_rid", "size");
+ GDVIRTUAL_BIND(font_remove_kerning, "font_rid", "size", "glyph_pair");
- GDVIRTUAL_BIND(_font_set_kerning, "font_rid", "size", "glyph_pair", "kerning");
- GDVIRTUAL_BIND(_font_get_kerning, "font_rid", "size", "glyph_pair");
+ GDVIRTUAL_BIND(font_set_kerning, "font_rid", "size", "glyph_pair", "kerning");
+ GDVIRTUAL_BIND(font_get_kerning, "font_rid", "size", "glyph_pair");
- GDVIRTUAL_BIND(_font_get_glyph_index, "font_rid", "size", "char", "variation_selector");
+ GDVIRTUAL_BIND(font_get_glyph_index, "font_rid", "size", "char", "variation_selector");
- GDVIRTUAL_BIND(_font_has_char, "font_rid", "char");
- GDVIRTUAL_BIND(_font_get_supported_chars, "font_rid");
+ GDVIRTUAL_BIND(font_has_char, "font_rid", "char");
+ GDVIRTUAL_BIND(font_get_supported_chars, "font_rid");
- GDVIRTUAL_BIND(_font_render_range, "font_rid", "size", "start", "end");
- GDVIRTUAL_BIND(_font_render_glyph, "font_rid", "size", "index");
+ GDVIRTUAL_BIND(font_render_range, "font_rid", "size", "start", "end");
+ GDVIRTUAL_BIND(font_render_glyph, "font_rid", "size", "index");
- GDVIRTUAL_BIND(_font_draw_glyph, "font_rid", "canvas", "size", "pos", "index", "color");
- GDVIRTUAL_BIND(_font_draw_glyph_outline, "font_rid", "canvas", "size", "outline_size", "pos", "index", "color");
+ GDVIRTUAL_BIND(font_draw_glyph, "font_rid", "canvas", "size", "pos", "index", "color");
+ GDVIRTUAL_BIND(font_draw_glyph_outline, "font_rid", "canvas", "size", "outline_size", "pos", "index", "color");
- GDVIRTUAL_BIND(_font_is_language_supported, "font_rid", "language");
- GDVIRTUAL_BIND(_font_set_language_support_override, "font_rid", "language", "supported");
- GDVIRTUAL_BIND(_font_get_language_support_override, "font_rid", "language");
- GDVIRTUAL_BIND(_font_remove_language_support_override, "font_rid", "language");
- GDVIRTUAL_BIND(_font_get_language_support_overrides, "font_rid");
+ GDVIRTUAL_BIND(font_is_language_supported, "font_rid", "language");
+ GDVIRTUAL_BIND(font_set_language_support_override, "font_rid", "language", "supported");
+ GDVIRTUAL_BIND(font_get_language_support_override, "font_rid", "language");
+ GDVIRTUAL_BIND(font_remove_language_support_override, "font_rid", "language");
+ GDVIRTUAL_BIND(font_get_language_support_overrides, "font_rid");
- GDVIRTUAL_BIND(_font_is_script_supported, "font_rid", "script");
- GDVIRTUAL_BIND(_font_set_script_support_override, "font_rid", "script", "supported");
- GDVIRTUAL_BIND(_font_get_script_support_override, "font_rid", "script");
- GDVIRTUAL_BIND(_font_remove_script_support_override, "font_rid", "script");
- GDVIRTUAL_BIND(_font_get_script_support_overrides, "font_rid");
+ GDVIRTUAL_BIND(font_is_script_supported, "font_rid", "script");
+ GDVIRTUAL_BIND(font_set_script_support_override, "font_rid", "script", "supported");
+ GDVIRTUAL_BIND(font_get_script_support_override, "font_rid", "script");
+ GDVIRTUAL_BIND(font_remove_script_support_override, "font_rid", "script");
+ GDVIRTUAL_BIND(font_get_script_support_overrides, "font_rid");
- GDVIRTUAL_BIND(_font_set_opentype_feature_overrides, "font_rid", "overrides");
- GDVIRTUAL_BIND(_font_get_opentype_feature_overrides, "font_rid");
+ GDVIRTUAL_BIND(font_set_opentype_feature_overrides, "font_rid", "overrides");
+ GDVIRTUAL_BIND(font_get_opentype_feature_overrides, "font_rid");
- GDVIRTUAL_BIND(_font_supported_feature_list, "font_rid");
- GDVIRTUAL_BIND(_font_supported_variation_list, "font_rid");
+ GDVIRTUAL_BIND(font_supported_feature_list, "font_rid");
+ GDVIRTUAL_BIND(font_supported_variation_list, "font_rid");
- GDVIRTUAL_BIND(_font_get_global_oversampling);
- GDVIRTUAL_BIND(_font_set_global_oversampling, "oversampling");
+ GDVIRTUAL_BIND(font_get_global_oversampling);
+ GDVIRTUAL_BIND(font_set_global_oversampling, "oversampling");
- GDVIRTUAL_BIND(_get_hex_code_box_size, "size", "index");
- GDVIRTUAL_BIND(_draw_hex_code_box, "canvas", "size", "pos", "index", "color");
+ GDVIRTUAL_BIND(get_hex_code_box_size, "size", "index");
+ GDVIRTUAL_BIND(draw_hex_code_box, "canvas", "size", "pos", "index", "color");
/* Shaped text buffer interface */
- GDVIRTUAL_BIND(_create_shaped_text, "direction", "orientation");
+ GDVIRTUAL_BIND(create_shaped_text, "direction", "orientation");
- GDVIRTUAL_BIND(_shaped_text_clear, "shaped");
+ GDVIRTUAL_BIND(shaped_text_clear, "shaped");
- GDVIRTUAL_BIND(_shaped_text_set_direction, "shaped", "direction");
- GDVIRTUAL_BIND(_shaped_text_get_direction, "shaped");
- GDVIRTUAL_BIND(_shaped_text_get_inferred_direction, "shaped");
+ GDVIRTUAL_BIND(shaped_text_set_direction, "shaped", "direction");
+ GDVIRTUAL_BIND(shaped_text_get_direction, "shaped");
+ GDVIRTUAL_BIND(shaped_text_get_inferred_direction, "shaped");
- GDVIRTUAL_BIND(_shaped_text_set_bidi_override, "shaped", "override");
+ GDVIRTUAL_BIND(shaped_text_set_bidi_override, "shaped", "override");
- GDVIRTUAL_BIND(_shaped_text_set_custom_punctuation, "shaped", "punct");
- GDVIRTUAL_BIND(_shaped_text_get_custom_punctuation, "shaped");
+ GDVIRTUAL_BIND(shaped_text_set_custom_punctuation, "shaped", "punct");
+ GDVIRTUAL_BIND(shaped_text_get_custom_punctuation, "shaped");
- GDVIRTUAL_BIND(_shaped_text_set_orientation, "shaped", "orientation");
- GDVIRTUAL_BIND(_shaped_text_get_orientation, "shaped");
+ GDVIRTUAL_BIND(shaped_text_set_orientation, "shaped", "orientation");
+ GDVIRTUAL_BIND(shaped_text_get_orientation, "shaped");
- GDVIRTUAL_BIND(_shaped_text_set_preserve_invalid, "shaped", "enabled");
- GDVIRTUAL_BIND(_shaped_text_get_preserve_invalid, "shaped");
+ GDVIRTUAL_BIND(shaped_text_set_preserve_invalid, "shaped", "enabled");
+ GDVIRTUAL_BIND(shaped_text_get_preserve_invalid, "shaped");
- GDVIRTUAL_BIND(_shaped_text_set_preserve_control, "shaped", "enabled");
- GDVIRTUAL_BIND(_shaped_text_get_preserve_control, "shaped");
+ GDVIRTUAL_BIND(shaped_text_set_preserve_control, "shaped", "enabled");
+ GDVIRTUAL_BIND(shaped_text_get_preserve_control, "shaped");
- GDVIRTUAL_BIND(_shaped_text_add_string, "shaped", "text", "fonts", "size", "opentype_features", "language", "meta");
- GDVIRTUAL_BIND(_shaped_text_add_object, "shaped", "key", "size", "inline_align", "length");
- GDVIRTUAL_BIND(_shaped_text_resize_object, "shaped", "key", "size", "inline_align");
+ GDVIRTUAL_BIND(shaped_text_add_string, "shaped", "text", "fonts", "size", "opentype_features", "language", "meta");
+ GDVIRTUAL_BIND(shaped_text_add_object, "shaped", "key", "size", "inline_align", "length");
+ GDVIRTUAL_BIND(shaped_text_resize_object, "shaped", "key", "size", "inline_align");
- GDVIRTUAL_BIND(_shaped_get_span_count, "shaped");
- GDVIRTUAL_BIND(_shaped_get_span_meta, "shaped", "index");
- GDVIRTUAL_BIND(_shaped_set_span_update_font, "shaped", "index", "fonts", "size", "opentype_features");
+ GDVIRTUAL_BIND(shaped_get_span_count, "shaped");
+ GDVIRTUAL_BIND(shaped_get_span_meta, "shaped", "index");
+ GDVIRTUAL_BIND(shaped_set_span_update_font, "shaped", "index", "fonts", "size", "opentype_features");
- GDVIRTUAL_BIND(_shaped_text_substr, "shaped", "start", "length");
- GDVIRTUAL_BIND(_shaped_text_get_parent, "shaped");
+ GDVIRTUAL_BIND(shaped_text_substr, "shaped", "start", "length");
+ GDVIRTUAL_BIND(shaped_text_get_parent, "shaped");
- GDVIRTUAL_BIND(_shaped_text_fit_to_width, "shaped", "width", "jst_flags");
- GDVIRTUAL_BIND(_shaped_text_tab_align, "shaped", "tab_stops");
+ GDVIRTUAL_BIND(shaped_text_fit_to_width, "shaped", "width", "jst_flags");
+ GDVIRTUAL_BIND(shaped_text_tab_align, "shaped", "tab_stops");
- GDVIRTUAL_BIND(_shaped_text_shape, "shaped");
- GDVIRTUAL_BIND(_shaped_text_update_breaks, "shaped");
- GDVIRTUAL_BIND(_shaped_text_update_justification_ops, "shaped");
+ GDVIRTUAL_BIND(shaped_text_shape, "shaped");
+ GDVIRTUAL_BIND(shaped_text_update_breaks, "shaped");
+ GDVIRTUAL_BIND(shaped_text_update_justification_ops, "shaped");
- GDVIRTUAL_BIND(_shaped_text_is_ready, "shaped");
+ GDVIRTUAL_BIND(shaped_text_is_ready, "shaped");
- GDVIRTUAL_BIND(_shaped_text_get_glyphs, "shaped");
- GDVIRTUAL_BIND(_shaped_text_sort_logical, "shaped");
- GDVIRTUAL_BIND(_shaped_text_get_glyph_count, "shaped");
+ GDVIRTUAL_BIND(shaped_text_get_glyphs, "shaped");
+ GDVIRTUAL_BIND(shaped_text_sort_logical, "shaped");
+ GDVIRTUAL_BIND(shaped_text_get_glyph_count, "shaped");
- GDVIRTUAL_BIND(_shaped_text_get_range, "shaped");
+ GDVIRTUAL_BIND(shaped_text_get_range, "shaped");
- GDVIRTUAL_BIND(_shaped_text_get_line_breaks_adv, "shaped", "width", "start", "once", "break_flags");
- GDVIRTUAL_BIND(_shaped_text_get_line_breaks, "shaped", "width", "start", "break_flags");
- GDVIRTUAL_BIND(_shaped_text_get_word_breaks, "shaped", "grapheme_flags");
+ GDVIRTUAL_BIND(shaped_text_get_line_breaks_adv, "shaped", "width", "start", "once", "break_flags");
+ GDVIRTUAL_BIND(shaped_text_get_line_breaks, "shaped", "width", "start", "break_flags");
+ GDVIRTUAL_BIND(shaped_text_get_word_breaks, "shaped", "grapheme_flags");
- GDVIRTUAL_BIND(_shaped_text_get_trim_pos, "shaped");
- GDVIRTUAL_BIND(_shaped_text_get_ellipsis_pos, "shaped");
- GDVIRTUAL_BIND(_shaped_text_get_ellipsis_glyph_count, "shaped");
- GDVIRTUAL_BIND(_shaped_text_get_ellipsis_glyphs, "shaped");
+ GDVIRTUAL_BIND(shaped_text_get_trim_pos, "shaped");
+ GDVIRTUAL_BIND(shaped_text_get_ellipsis_pos, "shaped");
+ GDVIRTUAL_BIND(shaped_text_get_ellipsis_glyph_count, "shaped");
+ GDVIRTUAL_BIND(shaped_text_get_ellipsis_glyphs, "shaped");
- GDVIRTUAL_BIND(_shaped_text_overrun_trim_to_width, "shaped", "width", "trim_flags");
+ GDVIRTUAL_BIND(shaped_text_overrun_trim_to_width, "shaped", "width", "trim_flags");
- GDVIRTUAL_BIND(_shaped_text_get_objects, "shaped");
- GDVIRTUAL_BIND(_shaped_text_get_object_rect, "shaped", "key");
+ GDVIRTUAL_BIND(shaped_text_get_objects, "shaped");
+ GDVIRTUAL_BIND(shaped_text_get_object_rect, "shaped", "key");
- GDVIRTUAL_BIND(_shaped_text_get_size, "shaped");
- GDVIRTUAL_BIND(_shaped_text_get_ascent, "shaped");
- GDVIRTUAL_BIND(_shaped_text_get_descent, "shaped");
- GDVIRTUAL_BIND(_shaped_text_get_width, "shaped");
- GDVIRTUAL_BIND(_shaped_text_get_underline_position, "shaped");
- GDVIRTUAL_BIND(_shaped_text_get_underline_thickness, "shaped");
+ GDVIRTUAL_BIND(shaped_text_get_size, "shaped");
+ GDVIRTUAL_BIND(shaped_text_get_ascent, "shaped");
+ GDVIRTUAL_BIND(shaped_text_get_descent, "shaped");
+ GDVIRTUAL_BIND(shaped_text_get_width, "shaped");
+ GDVIRTUAL_BIND(shaped_text_get_underline_position, "shaped");
+ GDVIRTUAL_BIND(shaped_text_get_underline_thickness, "shaped");
- GDVIRTUAL_BIND(_shaped_text_get_dominant_direction_in_range, "shaped", "start", "end");
+ GDVIRTUAL_BIND(shaped_text_get_dominant_direction_in_range, "shaped", "start", "end");
- GDVIRTUAL_BIND(_shaped_text_get_carets, "shaped", "position", "caret");
- GDVIRTUAL_BIND(_shaped_text_get_selection, "shaped", "start", "end");
+ GDVIRTUAL_BIND(shaped_text_get_carets, "shaped", "position", "caret");
+ GDVIRTUAL_BIND(shaped_text_get_selection, "shaped", "start", "end");
- GDVIRTUAL_BIND(_shaped_text_hit_test_grapheme, "shaped", "coord");
- GDVIRTUAL_BIND(_shaped_text_hit_test_position, "shaped", "coord");
+ GDVIRTUAL_BIND(shaped_text_hit_test_grapheme, "shaped", "coord");
+ GDVIRTUAL_BIND(shaped_text_hit_test_position, "shaped", "coord");
- GDVIRTUAL_BIND(_shaped_text_draw, "shaped", "canvas", "pos", "clip_l", "clip_r", "color");
- GDVIRTUAL_BIND(_shaped_text_draw_outline, "shaped", "canvas", "pos", "clip_l", "clip_r", "outline_size", "color");
+ GDVIRTUAL_BIND(shaped_text_draw, "shaped", "canvas", "pos", "clip_l", "clip_r", "color");
+ GDVIRTUAL_BIND(shaped_text_draw_outline, "shaped", "canvas", "pos", "clip_l", "clip_r", "outline_size", "color");
- GDVIRTUAL_BIND(_shaped_text_get_grapheme_bounds, "shaped", "pos");
- GDVIRTUAL_BIND(_shaped_text_next_grapheme_pos, "shaped", "pos");
- GDVIRTUAL_BIND(_shaped_text_prev_grapheme_pos, "shaped", "pos");
+ GDVIRTUAL_BIND(shaped_text_get_grapheme_bounds, "shaped", "pos");
+ GDVIRTUAL_BIND(shaped_text_next_grapheme_pos, "shaped", "pos");
+ GDVIRTUAL_BIND(shaped_text_prev_grapheme_pos, "shaped", "pos");
- GDVIRTUAL_BIND(_format_number, "string", "language");
- GDVIRTUAL_BIND(_parse_number, "string", "language");
- GDVIRTUAL_BIND(_percent_sign, "language");
+ GDVIRTUAL_BIND(format_number, "string", "language");
+ GDVIRTUAL_BIND(parse_number, "string", "language");
+ GDVIRTUAL_BIND(percent_sign, "language");
- GDVIRTUAL_BIND(_string_to_upper, "string", "language");
- GDVIRTUAL_BIND(_string_to_lower, "string", "language");
+ GDVIRTUAL_BIND(strip_diacritics, "string");
+
+ GDVIRTUAL_BIND(string_to_upper, "string", "language");
+ GDVIRTUAL_BIND(string_to_lower, "string", "language");
}
bool TextServerExtension::has_feature(Feature p_feature) const {
bool ret;
- if (GDVIRTUAL_CALL(_has_feature, p_feature, ret)) {
+ if (GDVIRTUAL_CALL(has_feature, p_feature, ret)) {
return ret;
}
return false;
@@ -299,27 +301,27 @@ bool TextServerExtension::has_feature(Feature p_feature) const {
String TextServerExtension::get_name() const {
String ret;
- if (GDVIRTUAL_CALL(_get_name, ret)) {
+ if (GDVIRTUAL_CALL(get_name, ret)) {
return ret;
}
return "Unknown";
}
-uint32_t TextServerExtension::get_features() const {
- uint32_t ret;
- if (GDVIRTUAL_CALL(_get_features, ret)) {
+int64_t TextServerExtension::get_features() const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(get_features, ret)) {
return ret;
}
return 0;
}
-void TextServerExtension::free(RID p_rid) {
- GDVIRTUAL_CALL(_free, p_rid);
+void TextServerExtension::free_rid(const RID &p_rid) {
+ GDVIRTUAL_CALL(free_rid, p_rid);
}
-bool TextServerExtension::has(RID p_rid) {
+bool TextServerExtension::has(const RID &p_rid) {
bool ret;
- if (GDVIRTUAL_CALL(_has, p_rid, ret)) {
+ if (GDVIRTUAL_CALL(has, p_rid, ret)) {
return ret;
}
return false;
@@ -327,7 +329,7 @@ bool TextServerExtension::has(RID p_rid) {
bool TextServerExtension::load_support_data(const String &p_filename) {
bool ret;
- if (GDVIRTUAL_CALL(_load_support_data, p_filename, ret)) {
+ if (GDVIRTUAL_CALL(load_support_data, p_filename, ret)) {
return ret;
}
return false;
@@ -335,7 +337,7 @@ bool TextServerExtension::load_support_data(const String &p_filename) {
String TextServerExtension::get_support_data_filename() const {
String ret;
- if (GDVIRTUAL_CALL(_get_support_data_filename, ret)) {
+ if (GDVIRTUAL_CALL(get_support_data_filename, ret)) {
return ret;
}
return String();
@@ -343,7 +345,7 @@ String TextServerExtension::get_support_data_filename() const {
String TextServerExtension::get_support_data_info() const {
String ret;
- if (GDVIRTUAL_CALL(_get_support_data_info, ret)) {
+ if (GDVIRTUAL_CALL(get_support_data_info, ret)) {
return ret;
}
return String();
@@ -351,7 +353,7 @@ String TextServerExtension::get_support_data_info() const {
bool TextServerExtension::save_support_data(const String &p_filename) const {
bool ret;
- if (GDVIRTUAL_CALL(_save_support_data, p_filename, ret)) {
+ if (GDVIRTUAL_CALL(save_support_data, p_filename, ret)) {
return ret;
}
return false;
@@ -359,23 +361,23 @@ bool TextServerExtension::save_support_data(const String &p_filename) const {
bool TextServerExtension::is_locale_right_to_left(const String &p_locale) const {
bool ret;
- if (GDVIRTUAL_CALL(_is_locale_right_to_left, p_locale, ret)) {
+ if (GDVIRTUAL_CALL(is_locale_right_to_left, p_locale, ret)) {
return ret;
}
return false;
}
-int32_t TextServerExtension::name_to_tag(const String &p_name) const {
- int32_t ret;
- if (GDVIRTUAL_CALL(_name_to_tag, p_name, ret)) {
+int64_t TextServerExtension::name_to_tag(const String &p_name) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(name_to_tag, p_name, ret)) {
return ret;
}
return 0;
}
-String TextServerExtension::tag_to_name(int32_t p_tag) const {
+String TextServerExtension::tag_to_name(int64_t p_tag) const {
String ret;
- if (GDVIRTUAL_CALL(_tag_to_name, p_tag, ret)) {
+ if (GDVIRTUAL_CALL(tag_to_name, p_tag, ret)) {
return ret;
}
return "";
@@ -387,594 +389,594 @@ String TextServerExtension::tag_to_name(int32_t p_tag) const {
RID TextServerExtension::create_font() {
RID ret;
- if (GDVIRTUAL_CALL(_create_font, ret)) {
+ if (GDVIRTUAL_CALL(create_font, ret)) {
return ret;
}
return RID();
}
-void TextServerExtension::font_set_data(RID p_font_rid, const PackedByteArray &p_data) {
- GDVIRTUAL_CALL(_font_set_data, p_font_rid, p_data);
+void TextServerExtension::font_set_data(const RID &p_font_rid, const PackedByteArray &p_data) {
+ GDVIRTUAL_CALL(font_set_data, p_font_rid, p_data);
}
-void TextServerExtension::font_set_data_ptr(RID p_font_rid, const uint8_t *p_data_ptr, size_t p_data_size) {
- GDVIRTUAL_CALL(_font_set_data_ptr, p_font_rid, p_data_ptr, p_data_size);
+void TextServerExtension::font_set_data_ptr(const RID &p_font_rid, const uint8_t *p_data_ptr, int64_t p_data_size) {
+ GDVIRTUAL_CALL(font_set_data_ptr, p_font_rid, p_data_ptr, p_data_size);
}
-void TextServerExtension::font_set_style(RID p_font_rid, uint32_t /*FontStyle*/ p_style) {
- GDVIRTUAL_CALL(_font_set_style, p_font_rid, p_style);
+void TextServerExtension::font_set_style(const RID &p_font_rid, int64_t /*FontStyle*/ p_style) {
+ GDVIRTUAL_CALL(font_set_style, p_font_rid, p_style);
}
-uint32_t /*FontStyle*/ TextServerExtension::font_get_style(RID p_font_rid) const {
- uint32_t ret;
- if (GDVIRTUAL_CALL(_font_get_style, p_font_rid, ret)) {
+int64_t /*FontStyle*/ TextServerExtension::font_get_style(const RID &p_font_rid) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(font_get_style, p_font_rid, ret)) {
return ret;
}
return 0;
}
-void TextServerExtension::font_set_style_name(RID p_font_rid, const String &p_name) {
- GDVIRTUAL_CALL(_font_set_style_name, p_font_rid, p_name);
+void TextServerExtension::font_set_style_name(const RID &p_font_rid, const String &p_name) {
+ GDVIRTUAL_CALL(font_set_style_name, p_font_rid, p_name);
}
-String TextServerExtension::font_get_style_name(RID p_font_rid) const {
+String TextServerExtension::font_get_style_name(const RID &p_font_rid) const {
String ret;
- if (GDVIRTUAL_CALL(_font_get_style_name, p_font_rid, ret)) {
+ if (GDVIRTUAL_CALL(font_get_style_name, p_font_rid, ret)) {
return ret;
}
return String();
}
-void TextServerExtension::font_set_name(RID p_font_rid, const String &p_name) {
- GDVIRTUAL_CALL(_font_set_name, p_font_rid, p_name);
+void TextServerExtension::font_set_name(const RID &p_font_rid, const String &p_name) {
+ GDVIRTUAL_CALL(font_set_name, p_font_rid, p_name);
}
-String TextServerExtension::font_get_name(RID p_font_rid) const {
+String TextServerExtension::font_get_name(const RID &p_font_rid) const {
String ret;
- if (GDVIRTUAL_CALL(_font_get_name, p_font_rid, ret)) {
+ if (GDVIRTUAL_CALL(font_get_name, p_font_rid, ret)) {
return ret;
}
return String();
}
-void TextServerExtension::font_set_antialiased(RID p_font_rid, bool p_antialiased) {
- GDVIRTUAL_CALL(_font_set_antialiased, p_font_rid, p_antialiased);
+void TextServerExtension::font_set_antialiased(const RID &p_font_rid, bool p_antialiased) {
+ GDVIRTUAL_CALL(font_set_antialiased, p_font_rid, p_antialiased);
}
-bool TextServerExtension::font_is_antialiased(RID p_font_rid) const {
+bool TextServerExtension::font_is_antialiased(const RID &p_font_rid) const {
bool ret;
- if (GDVIRTUAL_CALL(_font_is_antialiased, p_font_rid, ret)) {
+ if (GDVIRTUAL_CALL(font_is_antialiased, p_font_rid, ret)) {
return ret;
}
return false;
}
-void TextServerExtension::font_set_multichannel_signed_distance_field(RID p_font_rid, bool p_msdf) {
- GDVIRTUAL_CALL(_font_set_multichannel_signed_distance_field, p_font_rid, p_msdf);
+void TextServerExtension::font_set_multichannel_signed_distance_field(const RID &p_font_rid, bool p_msdf) {
+ GDVIRTUAL_CALL(font_set_multichannel_signed_distance_field, p_font_rid, p_msdf);
}
-bool TextServerExtension::font_is_multichannel_signed_distance_field(RID p_font_rid) const {
+bool TextServerExtension::font_is_multichannel_signed_distance_field(const RID &p_font_rid) const {
bool ret;
- if (GDVIRTUAL_CALL(_font_is_multichannel_signed_distance_field, p_font_rid, ret)) {
+ if (GDVIRTUAL_CALL(font_is_multichannel_signed_distance_field, p_font_rid, ret)) {
return ret;
}
return false;
}
-void TextServerExtension::font_set_msdf_pixel_range(RID p_font_rid, int p_msdf_pixel_range) {
- GDVIRTUAL_CALL(_font_set_msdf_pixel_range, p_font_rid, p_msdf_pixel_range);
+void TextServerExtension::font_set_msdf_pixel_range(const RID &p_font_rid, int64_t p_msdf_pixel_range) {
+ GDVIRTUAL_CALL(font_set_msdf_pixel_range, p_font_rid, p_msdf_pixel_range);
}
-int TextServerExtension::font_get_msdf_pixel_range(RID p_font_rid) const {
- int ret;
- if (GDVIRTUAL_CALL(_font_get_msdf_pixel_range, p_font_rid, ret)) {
+int64_t TextServerExtension::font_get_msdf_pixel_range(const RID &p_font_rid) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(font_get_msdf_pixel_range, p_font_rid, ret)) {
return ret;
}
return 0;
}
-void TextServerExtension::font_set_msdf_size(RID p_font_rid, int p_msdf_size) {
- GDVIRTUAL_CALL(_font_set_msdf_size, p_font_rid, p_msdf_size);
+void TextServerExtension::font_set_msdf_size(const RID &p_font_rid, int64_t p_msdf_size) {
+ GDVIRTUAL_CALL(font_set_msdf_size, p_font_rid, p_msdf_size);
}
-int TextServerExtension::font_get_msdf_size(RID p_font_rid) const {
- int ret;
- if (GDVIRTUAL_CALL(_font_get_msdf_size, p_font_rid, ret)) {
+int64_t TextServerExtension::font_get_msdf_size(const RID &p_font_rid) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(font_get_msdf_size, p_font_rid, ret)) {
return ret;
}
return 0;
}
-void TextServerExtension::font_set_fixed_size(RID p_font_rid, int p_fixed_size) {
- GDVIRTUAL_CALL(_font_set_fixed_size, p_font_rid, p_fixed_size);
+void TextServerExtension::font_set_fixed_size(const RID &p_font_rid, int64_t p_fixed_size) {
+ GDVIRTUAL_CALL(font_set_fixed_size, p_font_rid, p_fixed_size);
}
-int TextServerExtension::font_get_fixed_size(RID p_font_rid) const {
- int ret;
- if (GDVIRTUAL_CALL(_font_get_fixed_size, p_font_rid, ret)) {
+int64_t TextServerExtension::font_get_fixed_size(const RID &p_font_rid) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(font_get_fixed_size, p_font_rid, ret)) {
return ret;
}
return 0;
}
-void TextServerExtension::font_set_force_autohinter(RID p_font_rid, bool p_force_autohinter) {
- GDVIRTUAL_CALL(_font_set_force_autohinter, p_font_rid, p_force_autohinter);
+void TextServerExtension::font_set_force_autohinter(const RID &p_font_rid, bool p_force_autohinter) {
+ GDVIRTUAL_CALL(font_set_force_autohinter, p_font_rid, p_force_autohinter);
}
-bool TextServerExtension::font_is_force_autohinter(RID p_font_rid) const {
+bool TextServerExtension::font_is_force_autohinter(const RID &p_font_rid) const {
bool ret;
- if (GDVIRTUAL_CALL(_font_is_force_autohinter, p_font_rid, ret)) {
+ if (GDVIRTUAL_CALL(font_is_force_autohinter, p_font_rid, ret)) {
return ret;
}
return false;
}
-void TextServerExtension::font_set_hinting(RID p_font_rid, TextServer::Hinting p_hinting) {
- GDVIRTUAL_CALL(_font_set_hinting, p_font_rid, p_hinting);
+void TextServerExtension::font_set_hinting(const RID &p_font_rid, TextServer::Hinting p_hinting) {
+ GDVIRTUAL_CALL(font_set_hinting, p_font_rid, p_hinting);
}
-TextServer::Hinting TextServerExtension::font_get_hinting(RID p_font_rid) const {
+TextServer::Hinting TextServerExtension::font_get_hinting(const RID &p_font_rid) const {
TextServer::Hinting ret;
- if (GDVIRTUAL_CALL(_font_get_hinting, p_font_rid, ret)) {
+ if (GDVIRTUAL_CALL(font_get_hinting, p_font_rid, ret)) {
return (TextServer::Hinting)ret;
}
return TextServer::Hinting::HINTING_NONE;
}
-void TextServerExtension::font_set_subpixel_positioning(RID p_font_rid, TextServer::SubpixelPositioning p_subpixel) {
- GDVIRTUAL_CALL(_font_set_subpixel_positioning, p_font_rid, p_subpixel);
+void TextServerExtension::font_set_subpixel_positioning(const RID &p_font_rid, TextServer::SubpixelPositioning p_subpixel) {
+ GDVIRTUAL_CALL(font_set_subpixel_positioning, p_font_rid, p_subpixel);
}
-TextServer::SubpixelPositioning TextServerExtension::font_get_subpixel_positioning(RID p_font_rid) const {
+TextServer::SubpixelPositioning TextServerExtension::font_get_subpixel_positioning(const RID &p_font_rid) const {
TextServer::SubpixelPositioning ret;
- if (GDVIRTUAL_CALL(_font_get_subpixel_positioning, p_font_rid, ret)) {
+ if (GDVIRTUAL_CALL(font_get_subpixel_positioning, p_font_rid, ret)) {
return (TextServer::SubpixelPositioning)ret;
}
return TextServer::SubpixelPositioning::SUBPIXEL_POSITIONING_DISABLED;
}
-void TextServerExtension::font_set_embolden(RID p_font_rid, float p_strength) {
- GDVIRTUAL_CALL(_font_set_embolden, p_font_rid, p_strength);
+void TextServerExtension::font_set_embolden(const RID &p_font_rid, double p_strength) {
+ GDVIRTUAL_CALL(font_set_embolden, p_font_rid, p_strength);
}
-float TextServerExtension::font_get_embolden(RID p_font_rid) const {
- float ret;
- if (GDVIRTUAL_CALL(_font_get_embolden, p_font_rid, ret)) {
+double TextServerExtension::font_get_embolden(const RID &p_font_rid) const {
+ double ret;
+ if (GDVIRTUAL_CALL(font_get_embolden, p_font_rid, ret)) {
return ret;
}
- return 0.f;
+ return 0.0;
}
-void TextServerExtension::font_set_transform(RID p_font_rid, Transform2D p_transform) {
- GDVIRTUAL_CALL(_font_set_transform, p_font_rid, p_transform);
+void TextServerExtension::font_set_transform(const RID &p_font_rid, const Transform2D &p_transform) {
+ GDVIRTUAL_CALL(font_set_transform, p_font_rid, p_transform);
}
-Transform2D TextServerExtension::font_get_transform(RID p_font_rid) const {
+Transform2D TextServerExtension::font_get_transform(const RID &p_font_rid) const {
Transform2D ret;
- if (GDVIRTUAL_CALL(_font_get_transform, p_font_rid, ret)) {
+ if (GDVIRTUAL_CALL(font_get_transform, p_font_rid, ret)) {
return ret;
}
return Transform2D();
}
-void TextServerExtension::font_set_variation_coordinates(RID p_font_rid, const Dictionary &p_variation_coordinates) {
- GDVIRTUAL_CALL(_font_set_variation_coordinates, p_font_rid, p_variation_coordinates);
+void TextServerExtension::font_set_variation_coordinates(const RID &p_font_rid, const Dictionary &p_variation_coordinates) {
+ GDVIRTUAL_CALL(font_set_variation_coordinates, p_font_rid, p_variation_coordinates);
}
-Dictionary TextServerExtension::font_get_variation_coordinates(RID p_font_rid) const {
+Dictionary TextServerExtension::font_get_variation_coordinates(const RID &p_font_rid) const {
Dictionary ret;
- if (GDVIRTUAL_CALL(_font_get_variation_coordinates, p_font_rid, ret)) {
+ if (GDVIRTUAL_CALL(font_get_variation_coordinates, p_font_rid, ret)) {
return ret;
}
return Dictionary();
}
-void TextServerExtension::font_set_oversampling(RID p_font_rid, float p_oversampling) {
- GDVIRTUAL_CALL(_font_set_oversampling, p_font_rid, p_oversampling);
+void TextServerExtension::font_set_oversampling(const RID &p_font_rid, double p_oversampling) {
+ GDVIRTUAL_CALL(font_set_oversampling, p_font_rid, p_oversampling);
}
-float TextServerExtension::font_get_oversampling(RID p_font_rid) const {
- float ret;
- if (GDVIRTUAL_CALL(_font_get_oversampling, p_font_rid, ret)) {
+double TextServerExtension::font_get_oversampling(const RID &p_font_rid) const {
+ double ret;
+ if (GDVIRTUAL_CALL(font_get_oversampling, p_font_rid, ret)) {
return ret;
}
- return 0.f;
+ return 0.0;
}
-Array TextServerExtension::font_get_size_cache_list(RID p_font_rid) const {
+Array TextServerExtension::font_get_size_cache_list(const RID &p_font_rid) const {
Array ret;
- if (GDVIRTUAL_CALL(_font_get_size_cache_list, p_font_rid, ret)) {
+ if (GDVIRTUAL_CALL(font_get_size_cache_list, p_font_rid, ret)) {
return ret;
}
return Array();
}
-void TextServerExtension::font_clear_size_cache(RID p_font_rid) {
- GDVIRTUAL_CALL(_font_clear_size_cache, p_font_rid);
+void TextServerExtension::font_clear_size_cache(const RID &p_font_rid) {
+ GDVIRTUAL_CALL(font_clear_size_cache, p_font_rid);
}
-void TextServerExtension::font_remove_size_cache(RID p_font_rid, const Vector2i &p_size) {
- GDVIRTUAL_CALL(_font_remove_size_cache, p_font_rid, p_size);
+void TextServerExtension::font_remove_size_cache(const RID &p_font_rid, const Vector2i &p_size) {
+ GDVIRTUAL_CALL(font_remove_size_cache, p_font_rid, p_size);
}
-void TextServerExtension::font_set_ascent(RID p_font_rid, int p_size, float p_ascent) {
- GDVIRTUAL_CALL(_font_set_ascent, p_font_rid, p_size, p_ascent);
+void TextServerExtension::font_set_ascent(const RID &p_font_rid, int64_t p_size, double p_ascent) {
+ GDVIRTUAL_CALL(font_set_ascent, p_font_rid, p_size, p_ascent);
}
-float TextServerExtension::font_get_ascent(RID p_font_rid, int p_size) const {
- float ret;
- if (GDVIRTUAL_CALL(_font_get_ascent, p_font_rid, p_size, ret)) {
+double TextServerExtension::font_get_ascent(const RID &p_font_rid, int64_t p_size) const {
+ double ret;
+ if (GDVIRTUAL_CALL(font_get_ascent, p_font_rid, p_size, ret)) {
return ret;
}
- return 0.f;
+ return 0.0;
}
-void TextServerExtension::font_set_descent(RID p_font_rid, int p_size, float p_descent) {
- GDVIRTUAL_CALL(_font_set_descent, p_font_rid, p_size, p_descent);
+void TextServerExtension::font_set_descent(const RID &p_font_rid, int64_t p_size, double p_descent) {
+ GDVIRTUAL_CALL(font_set_descent, p_font_rid, p_size, p_descent);
}
-float TextServerExtension::font_get_descent(RID p_font_rid, int p_size) const {
- float ret;
- if (GDVIRTUAL_CALL(_font_get_descent, p_font_rid, p_size, ret)) {
+double TextServerExtension::font_get_descent(const RID &p_font_rid, int64_t p_size) const {
+ double ret;
+ if (GDVIRTUAL_CALL(font_get_descent, p_font_rid, p_size, ret)) {
return ret;
}
- return 0.f;
+ return 0.0;
}
-void TextServerExtension::font_set_underline_position(RID p_font_rid, int p_size, float p_underline_position) {
- GDVIRTUAL_CALL(_font_set_underline_position, p_font_rid, p_size, p_underline_position);
+void TextServerExtension::font_set_underline_position(const RID &p_font_rid, int64_t p_size, double p_underline_position) {
+ GDVIRTUAL_CALL(font_set_underline_position, p_font_rid, p_size, p_underline_position);
}
-float TextServerExtension::font_get_underline_position(RID p_font_rid, int p_size) const {
- float ret;
- if (GDVIRTUAL_CALL(_font_get_underline_position, p_font_rid, p_size, ret)) {
+double TextServerExtension::font_get_underline_position(const RID &p_font_rid, int64_t p_size) const {
+ double ret;
+ if (GDVIRTUAL_CALL(font_get_underline_position, p_font_rid, p_size, ret)) {
return ret;
}
- return 0.f;
+ return 0.0;
}
-void TextServerExtension::font_set_underline_thickness(RID p_font_rid, int p_size, float p_underline_thickness) {
- GDVIRTUAL_CALL(_font_set_underline_thickness, p_font_rid, p_size, p_underline_thickness);
+void TextServerExtension::font_set_underline_thickness(const RID &p_font_rid, int64_t p_size, double p_underline_thickness) {
+ GDVIRTUAL_CALL(font_set_underline_thickness, p_font_rid, p_size, p_underline_thickness);
}
-float TextServerExtension::font_get_underline_thickness(RID p_font_rid, int p_size) const {
- float ret;
- if (GDVIRTUAL_CALL(_font_get_underline_thickness, p_font_rid, p_size, ret)) {
+double TextServerExtension::font_get_underline_thickness(const RID &p_font_rid, int64_t p_size) const {
+ double ret;
+ if (GDVIRTUAL_CALL(font_get_underline_thickness, p_font_rid, p_size, ret)) {
return ret;
}
- return 0.f;
+ return 0.0;
}
-void TextServerExtension::font_set_scale(RID p_font_rid, int p_size, float p_scale) {
- GDVIRTUAL_CALL(_font_set_scale, p_font_rid, p_size, p_scale);
+void TextServerExtension::font_set_scale(const RID &p_font_rid, int64_t p_size, double p_scale) {
+ GDVIRTUAL_CALL(font_set_scale, p_font_rid, p_size, p_scale);
}
-float TextServerExtension::font_get_scale(RID p_font_rid, int p_size) const {
- float ret;
- if (GDVIRTUAL_CALL(_font_get_scale, p_font_rid, p_size, ret)) {
+double TextServerExtension::font_get_scale(const RID &p_font_rid, int64_t p_size) const {
+ double ret;
+ if (GDVIRTUAL_CALL(font_get_scale, p_font_rid, p_size, ret)) {
return ret;
}
- return 0.f;
+ return 0.0;
}
-void TextServerExtension::font_set_spacing(RID p_font_rid, int p_size, TextServer::SpacingType p_spacing, int p_value) {
- GDVIRTUAL_CALL(_font_set_spacing, p_font_rid, p_size, p_spacing, p_value);
+void TextServerExtension::font_set_spacing(const RID &p_font_rid, int64_t p_size, TextServer::SpacingType p_spacing, int64_t p_value) {
+ GDVIRTUAL_CALL(font_set_spacing, p_font_rid, p_size, p_spacing, p_value);
}
-int TextServerExtension::font_get_spacing(RID p_font_rid, int p_size, TextServer::SpacingType p_spacing) const {
- int ret;
- if (GDVIRTUAL_CALL(_font_get_spacing, p_font_rid, p_size, p_spacing, ret)) {
+int64_t TextServerExtension::font_get_spacing(const RID &p_font_rid, int64_t p_size, TextServer::SpacingType p_spacing) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(font_get_spacing, p_font_rid, p_size, p_spacing, ret)) {
return ret;
}
return 0;
}
-int TextServerExtension::font_get_texture_count(RID p_font_rid, const Vector2i &p_size) const {
- int ret;
- if (GDVIRTUAL_CALL(_font_get_texture_count, p_font_rid, p_size, ret)) {
+int64_t TextServerExtension::font_get_texture_count(const RID &p_font_rid, const Vector2i &p_size) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(font_get_texture_count, p_font_rid, p_size, ret)) {
return ret;
}
return 0;
}
-void TextServerExtension::font_clear_textures(RID p_font_rid, const Vector2i &p_size) {
- GDVIRTUAL_CALL(_font_clear_textures, p_font_rid, p_size);
+void TextServerExtension::font_clear_textures(const RID &p_font_rid, const Vector2i &p_size) {
+ GDVIRTUAL_CALL(font_clear_textures, p_font_rid, p_size);
}
-void TextServerExtension::font_remove_texture(RID p_font_rid, const Vector2i &p_size, int p_texture_index) {
- GDVIRTUAL_CALL(_font_remove_texture, p_font_rid, p_size, p_texture_index);
+void TextServerExtension::font_remove_texture(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index) {
+ GDVIRTUAL_CALL(font_remove_texture, p_font_rid, p_size, p_texture_index);
}
-void TextServerExtension::font_set_texture_image(RID p_font_rid, const Vector2i &p_size, int p_texture_index, const Ref<Image> &p_image) {
- GDVIRTUAL_CALL(_font_set_texture_image, p_font_rid, p_size, p_texture_index, p_image);
+void TextServerExtension::font_set_texture_image(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index, const Ref<Image> &p_image) {
+ GDVIRTUAL_CALL(font_set_texture_image, p_font_rid, p_size, p_texture_index, p_image);
}
-Ref<Image> TextServerExtension::font_get_texture_image(RID p_font_rid, const Vector2i &p_size, int p_texture_index) const {
+Ref<Image> TextServerExtension::font_get_texture_image(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index) const {
Ref<Image> ret;
- if (GDVIRTUAL_CALL(_font_get_texture_image, p_font_rid, p_size, p_texture_index, ret)) {
+ if (GDVIRTUAL_CALL(font_get_texture_image, p_font_rid, p_size, p_texture_index, ret)) {
return ret;
}
return Ref<Image>();
}
-void TextServerExtension::font_set_texture_offsets(RID p_font_rid, const Vector2i &p_size, int p_texture_index, const PackedInt32Array &p_offset) {
- GDVIRTUAL_CALL(_font_set_texture_offsets, p_font_rid, p_size, p_texture_index, p_offset);
+void TextServerExtension::font_set_texture_offsets(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index, const PackedInt32Array &p_offset) {
+ GDVIRTUAL_CALL(font_set_texture_offsets, p_font_rid, p_size, p_texture_index, p_offset);
}
-PackedInt32Array TextServerExtension::font_get_texture_offsets(RID p_font_rid, const Vector2i &p_size, int p_texture_index) const {
+PackedInt32Array TextServerExtension::font_get_texture_offsets(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index) const {
PackedInt32Array ret;
- if (GDVIRTUAL_CALL(_font_get_texture_offsets, p_font_rid, p_size, p_texture_index, ret)) {
+ if (GDVIRTUAL_CALL(font_get_texture_offsets, p_font_rid, p_size, p_texture_index, ret)) {
return ret;
}
return PackedInt32Array();
}
-Array TextServerExtension::font_get_glyph_list(RID p_font_rid, const Vector2i &p_size) const {
+Array TextServerExtension::font_get_glyph_list(const RID &p_font_rid, const Vector2i &p_size) const {
Array ret;
- if (GDVIRTUAL_CALL(_font_get_glyph_list, p_font_rid, p_size, ret)) {
+ if (GDVIRTUAL_CALL(font_get_glyph_list, p_font_rid, p_size, ret)) {
return ret;
}
return Array();
}
-void TextServerExtension::font_clear_glyphs(RID p_font_rid, const Vector2i &p_size) {
- GDVIRTUAL_CALL(_font_clear_glyphs, p_font_rid, p_size);
+void TextServerExtension::font_clear_glyphs(const RID &p_font_rid, const Vector2i &p_size) {
+ GDVIRTUAL_CALL(font_clear_glyphs, p_font_rid, p_size);
}
-void TextServerExtension::font_remove_glyph(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph) {
- GDVIRTUAL_CALL(_font_remove_glyph, p_font_rid, p_size, p_glyph);
+void TextServerExtension::font_remove_glyph(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) {
+ GDVIRTUAL_CALL(font_remove_glyph, p_font_rid, p_size, p_glyph);
}
-Vector2 TextServerExtension::font_get_glyph_advance(RID p_font_rid, int p_size, int32_t p_glyph) const {
+Vector2 TextServerExtension::font_get_glyph_advance(const RID &p_font_rid, int64_t p_size, int64_t p_glyph) const {
Vector2 ret;
- if (GDVIRTUAL_CALL(_font_get_glyph_advance, p_font_rid, p_size, p_glyph, ret)) {
+ if (GDVIRTUAL_CALL(font_get_glyph_advance, p_font_rid, p_size, p_glyph, ret)) {
return ret;
}
return Vector2();
}
-void TextServerExtension::font_set_glyph_advance(RID p_font_rid, int p_size, int32_t p_glyph, const Vector2 &p_advance) {
- GDVIRTUAL_CALL(_font_set_glyph_advance, p_font_rid, p_size, p_glyph, p_advance);
+void TextServerExtension::font_set_glyph_advance(const RID &p_font_rid, int64_t p_size, int64_t p_glyph, const Vector2 &p_advance) {
+ GDVIRTUAL_CALL(font_set_glyph_advance, p_font_rid, p_size, p_glyph, p_advance);
}
-Vector2 TextServerExtension::font_get_glyph_offset(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph) const {
+Vector2 TextServerExtension::font_get_glyph_offset(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const {
Vector2 ret;
- if (GDVIRTUAL_CALL(_font_get_glyph_offset, p_font_rid, p_size, p_glyph, ret)) {
+ if (GDVIRTUAL_CALL(font_get_glyph_offset, p_font_rid, p_size, p_glyph, ret)) {
return ret;
}
return Vector2();
}
-void TextServerExtension::font_set_glyph_offset(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph, const Vector2 &p_offset) {
- GDVIRTUAL_CALL(_font_set_glyph_offset, p_font_rid, p_size, p_glyph, p_offset);
+void TextServerExtension::font_set_glyph_offset(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, const Vector2 &p_offset) {
+ GDVIRTUAL_CALL(font_set_glyph_offset, p_font_rid, p_size, p_glyph, p_offset);
}
-Vector2 TextServerExtension::font_get_glyph_size(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph) const {
+Vector2 TextServerExtension::font_get_glyph_size(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const {
Vector2 ret;
- if (GDVIRTUAL_CALL(_font_get_glyph_size, p_font_rid, p_size, p_glyph, ret)) {
+ if (GDVIRTUAL_CALL(font_get_glyph_size, p_font_rid, p_size, p_glyph, ret)) {
return ret;
}
return Vector2();
}
-void TextServerExtension::font_set_glyph_size(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph, const Vector2 &p_gl_size) {
- GDVIRTUAL_CALL(_font_set_glyph_size, p_font_rid, p_size, p_glyph, p_gl_size);
+void TextServerExtension::font_set_glyph_size(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, const Vector2 &p_gl_size) {
+ GDVIRTUAL_CALL(font_set_glyph_size, p_font_rid, p_size, p_glyph, p_gl_size);
}
-Rect2 TextServerExtension::font_get_glyph_uv_rect(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph) const {
+Rect2 TextServerExtension::font_get_glyph_uv_rect(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const {
Rect2 ret;
- if (GDVIRTUAL_CALL(_font_get_glyph_uv_rect, p_font_rid, p_size, p_glyph, ret)) {
+ if (GDVIRTUAL_CALL(font_get_glyph_uv_rect, p_font_rid, p_size, p_glyph, ret)) {
return ret;
}
return Rect2();
}
-void TextServerExtension::font_set_glyph_uv_rect(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph, const Rect2 &p_uv_rect) {
- GDVIRTUAL_CALL(_font_set_glyph_uv_rect, p_font_rid, p_size, p_glyph, p_uv_rect);
+void TextServerExtension::font_set_glyph_uv_rect(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, const Rect2 &p_uv_rect) {
+ GDVIRTUAL_CALL(font_set_glyph_uv_rect, p_font_rid, p_size, p_glyph, p_uv_rect);
}
-int TextServerExtension::font_get_glyph_texture_idx(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph) const {
- int ret;
- if (GDVIRTUAL_CALL(_font_get_glyph_texture_idx, p_font_rid, p_size, p_glyph, ret)) {
+int64_t TextServerExtension::font_get_glyph_texture_idx(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(font_get_glyph_texture_idx, p_font_rid, p_size, p_glyph, ret)) {
return ret;
}
return 0;
}
-void TextServerExtension::font_set_glyph_texture_idx(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph, int p_texture_idx) {
- GDVIRTUAL_CALL(_font_set_glyph_texture_idx, p_font_rid, p_size, p_glyph, p_texture_idx);
+void TextServerExtension::font_set_glyph_texture_idx(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, int64_t p_texture_idx) {
+ GDVIRTUAL_CALL(font_set_glyph_texture_idx, p_font_rid, p_size, p_glyph, p_texture_idx);
}
-Dictionary TextServerExtension::font_get_glyph_contours(RID p_font_rid, int p_size, int32_t p_index) const {
+Dictionary TextServerExtension::font_get_glyph_contours(const RID &p_font_rid, int64_t p_size, int64_t p_index) const {
Dictionary ret;
- if (GDVIRTUAL_CALL(_font_get_glyph_contours, p_font_rid, p_size, p_index, ret)) {
+ if (GDVIRTUAL_CALL(font_get_glyph_contours, p_font_rid, p_size, p_index, ret)) {
return ret;
}
return Dictionary();
}
-Array TextServerExtension::font_get_kerning_list(RID p_font_rid, int p_size) const {
+Array TextServerExtension::font_get_kerning_list(const RID &p_font_rid, int64_t p_size) const {
Array ret;
- if (GDVIRTUAL_CALL(_font_get_kerning_list, p_font_rid, p_size, ret)) {
+ if (GDVIRTUAL_CALL(font_get_kerning_list, p_font_rid, p_size, ret)) {
return ret;
}
return Array();
}
-void TextServerExtension::font_clear_kerning_map(RID p_font_rid, int p_size) {
- GDVIRTUAL_CALL(_font_clear_kerning_map, p_font_rid, p_size);
+void TextServerExtension::font_clear_kerning_map(const RID &p_font_rid, int64_t p_size) {
+ GDVIRTUAL_CALL(font_clear_kerning_map, p_font_rid, p_size);
}
-void TextServerExtension::font_remove_kerning(RID p_font_rid, int p_size, const Vector2i &p_glyph_pair) {
- GDVIRTUAL_CALL(_font_remove_kerning, p_font_rid, p_size, p_glyph_pair);
+void TextServerExtension::font_remove_kerning(const RID &p_font_rid, int64_t p_size, const Vector2i &p_glyph_pair) {
+ GDVIRTUAL_CALL(font_remove_kerning, p_font_rid, p_size, p_glyph_pair);
}
-void TextServerExtension::font_set_kerning(RID p_font_rid, int p_size, const Vector2i &p_glyph_pair, const Vector2 &p_kerning) {
- GDVIRTUAL_CALL(_font_set_kerning, p_font_rid, p_size, p_glyph_pair, p_kerning);
+void TextServerExtension::font_set_kerning(const RID &p_font_rid, int64_t p_size, const Vector2i &p_glyph_pair, const Vector2 &p_kerning) {
+ GDVIRTUAL_CALL(font_set_kerning, p_font_rid, p_size, p_glyph_pair, p_kerning);
}
-Vector2 TextServerExtension::font_get_kerning(RID p_font_rid, int p_size, const Vector2i &p_glyph_pair) const {
+Vector2 TextServerExtension::font_get_kerning(const RID &p_font_rid, int64_t p_size, const Vector2i &p_glyph_pair) const {
Vector2 ret;
- if (GDVIRTUAL_CALL(_font_get_kerning, p_font_rid, p_size, p_glyph_pair, ret)) {
+ if (GDVIRTUAL_CALL(font_get_kerning, p_font_rid, p_size, p_glyph_pair, ret)) {
return ret;
}
return Vector2();
}
-int32_t TextServerExtension::font_get_glyph_index(RID p_font_rid, int p_size, char32_t p_char, char32_t p_variation_selector) const {
- int32_t ret;
- if (GDVIRTUAL_CALL(_font_get_glyph_index, p_font_rid, p_size, p_char, p_variation_selector, ret)) {
+int64_t TextServerExtension::font_get_glyph_index(const RID &p_font_rid, int64_t p_size, int64_t p_char, int64_t p_variation_selector) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(font_get_glyph_index, p_font_rid, p_size, p_char, p_variation_selector, ret)) {
return ret;
}
return 0;
}
-bool TextServerExtension::font_has_char(RID p_font_rid, char32_t p_char) const {
+bool TextServerExtension::font_has_char(const RID &p_font_rid, int64_t p_char) const {
bool ret;
- if (GDVIRTUAL_CALL(_font_has_char, p_font_rid, p_char, ret)) {
+ if (GDVIRTUAL_CALL(font_has_char, p_font_rid, p_char, ret)) {
return ret;
}
return false;
}
-String TextServerExtension::font_get_supported_chars(RID p_font_rid) const {
+String TextServerExtension::font_get_supported_chars(const RID &p_font_rid) const {
String ret;
- if (GDVIRTUAL_CALL(_font_get_supported_chars, p_font_rid, ret)) {
+ if (GDVIRTUAL_CALL(font_get_supported_chars, p_font_rid, ret)) {
return ret;
}
return String();
}
-void TextServerExtension::font_render_range(RID p_font_rid, const Vector2i &p_size, char32_t p_start, char32_t p_end) {
- GDVIRTUAL_CALL(_font_render_range, p_font_rid, p_size, p_start, p_end);
+void TextServerExtension::font_render_range(const RID &p_font_rid, const Vector2i &p_size, int64_t p_start, int64_t p_end) {
+ GDVIRTUAL_CALL(font_render_range, p_font_rid, p_size, p_start, p_end);
}
-void TextServerExtension::font_render_glyph(RID p_font_rid, const Vector2i &p_size, int32_t p_index) {
- GDVIRTUAL_CALL(_font_render_glyph, p_font_rid, p_size, p_index);
+void TextServerExtension::font_render_glyph(const RID &p_font_rid, const Vector2i &p_size, int64_t p_index) {
+ GDVIRTUAL_CALL(font_render_glyph, p_font_rid, p_size, p_index);
}
-void TextServerExtension::font_draw_glyph(RID p_font_rid, RID p_canvas, int p_size, const Vector2 &p_pos, int32_t p_index, const Color &p_color) const {
- GDVIRTUAL_CALL(_font_draw_glyph, p_font_rid, p_canvas, p_size, p_pos, p_index, p_color);
+void TextServerExtension::font_draw_glyph(const RID &p_font_rid, const RID &p_canvas, int64_t p_size, const Vector2 &p_pos, int64_t p_index, const Color &p_color) const {
+ GDVIRTUAL_CALL(font_draw_glyph, p_font_rid, p_canvas, p_size, p_pos, p_index, p_color);
}
-void TextServerExtension::font_draw_glyph_outline(RID p_font_rid, RID p_canvas, int p_size, int p_outline_size, const Vector2 &p_pos, int32_t p_index, const Color &p_color) const {
- GDVIRTUAL_CALL(_font_draw_glyph_outline, p_font_rid, p_canvas, p_size, p_outline_size, p_pos, p_index, p_color);
+void TextServerExtension::font_draw_glyph_outline(const RID &p_font_rid, const RID &p_canvas, int64_t p_size, int64_t p_outline_size, const Vector2 &p_pos, int64_t p_index, const Color &p_color) const {
+ GDVIRTUAL_CALL(font_draw_glyph_outline, p_font_rid, p_canvas, p_size, p_outline_size, p_pos, p_index, p_color);
}
-bool TextServerExtension::font_is_language_supported(RID p_font_rid, const String &p_language) const {
+bool TextServerExtension::font_is_language_supported(const RID &p_font_rid, const String &p_language) const {
bool ret;
- if (GDVIRTUAL_CALL(_font_is_language_supported, p_font_rid, p_language, ret)) {
+ if (GDVIRTUAL_CALL(font_is_language_supported, p_font_rid, p_language, ret)) {
return ret;
}
return false;
}
-void TextServerExtension::font_set_language_support_override(RID p_font_rid, const String &p_language, bool p_supported) {
- GDVIRTUAL_CALL(_font_set_language_support_override, p_font_rid, p_language, p_supported);
+void TextServerExtension::font_set_language_support_override(const RID &p_font_rid, const String &p_language, bool p_supported) {
+ GDVIRTUAL_CALL(font_set_language_support_override, p_font_rid, p_language, p_supported);
}
-bool TextServerExtension::font_get_language_support_override(RID p_font_rid, const String &p_language) {
+bool TextServerExtension::font_get_language_support_override(const RID &p_font_rid, const String &p_language) {
bool ret;
- if (GDVIRTUAL_CALL(_font_get_language_support_override, p_font_rid, p_language, ret)) {
+ if (GDVIRTUAL_CALL(font_get_language_support_override, p_font_rid, p_language, ret)) {
return ret;
}
return false;
}
-void TextServerExtension::font_remove_language_support_override(RID p_font_rid, const String &p_language) {
- GDVIRTUAL_CALL(_font_remove_language_support_override, p_font_rid, p_language);
+void TextServerExtension::font_remove_language_support_override(const RID &p_font_rid, const String &p_language) {
+ GDVIRTUAL_CALL(font_remove_language_support_override, p_font_rid, p_language);
}
-Vector<String> TextServerExtension::font_get_language_support_overrides(RID p_font_rid) {
- Vector<String> ret;
- if (GDVIRTUAL_CALL(_font_get_language_support_overrides, p_font_rid, ret)) {
+PackedStringArray TextServerExtension::font_get_language_support_overrides(const RID &p_font_rid) {
+ PackedStringArray ret;
+ if (GDVIRTUAL_CALL(font_get_language_support_overrides, p_font_rid, ret)) {
return ret;
}
- return Vector<String>();
+ return PackedStringArray();
}
-bool TextServerExtension::font_is_script_supported(RID p_font_rid, const String &p_script) const {
+bool TextServerExtension::font_is_script_supported(const RID &p_font_rid, const String &p_script) const {
bool ret;
- if (GDVIRTUAL_CALL(_font_is_script_supported, p_font_rid, p_script, ret)) {
+ if (GDVIRTUAL_CALL(font_is_script_supported, p_font_rid, p_script, ret)) {
return ret;
}
return false;
}
-void TextServerExtension::font_set_script_support_override(RID p_font_rid, const String &p_script, bool p_supported) {
- GDVIRTUAL_CALL(_font_set_script_support_override, p_font_rid, p_script, p_supported);
+void TextServerExtension::font_set_script_support_override(const RID &p_font_rid, const String &p_script, bool p_supported) {
+ GDVIRTUAL_CALL(font_set_script_support_override, p_font_rid, p_script, p_supported);
}
-bool TextServerExtension::font_get_script_support_override(RID p_font_rid, const String &p_script) {
+bool TextServerExtension::font_get_script_support_override(const RID &p_font_rid, const String &p_script) {
bool ret;
- if (GDVIRTUAL_CALL(_font_get_script_support_override, p_font_rid, p_script, ret)) {
+ if (GDVIRTUAL_CALL(font_get_script_support_override, p_font_rid, p_script, ret)) {
return ret;
}
return false;
}
-void TextServerExtension::font_remove_script_support_override(RID p_font_rid, const String &p_script) {
- GDVIRTUAL_CALL(_font_remove_script_support_override, p_font_rid, p_script);
+void TextServerExtension::font_remove_script_support_override(const RID &p_font_rid, const String &p_script) {
+ GDVIRTUAL_CALL(font_remove_script_support_override, p_font_rid, p_script);
}
-Vector<String> TextServerExtension::font_get_script_support_overrides(RID p_font_rid) {
- Vector<String> ret;
- if (GDVIRTUAL_CALL(_font_get_script_support_overrides, p_font_rid, ret)) {
+PackedStringArray TextServerExtension::font_get_script_support_overrides(const RID &p_font_rid) {
+ PackedStringArray ret;
+ if (GDVIRTUAL_CALL(font_get_script_support_overrides, p_font_rid, ret)) {
return ret;
}
- return Vector<String>();
+ return PackedStringArray();
}
-void TextServerExtension::font_set_opentype_feature_overrides(RID p_font_rid, const Dictionary &p_overrides) {
- GDVIRTUAL_CALL(_font_set_opentype_feature_overrides, p_font_rid, p_overrides);
+void TextServerExtension::font_set_opentype_feature_overrides(const RID &p_font_rid, const Dictionary &p_overrides) {
+ GDVIRTUAL_CALL(font_set_opentype_feature_overrides, p_font_rid, p_overrides);
}
-Dictionary TextServerExtension::font_get_opentype_feature_overrides(RID p_font_rid) const {
+Dictionary TextServerExtension::font_get_opentype_feature_overrides(const RID &p_font_rid) const {
Dictionary ret;
- if (GDVIRTUAL_CALL(_font_get_opentype_feature_overrides, p_font_rid, ret)) {
+ if (GDVIRTUAL_CALL(font_get_opentype_feature_overrides, p_font_rid, ret)) {
return ret;
}
return Dictionary();
}
-Dictionary TextServerExtension::font_supported_feature_list(RID p_font_rid) const {
+Dictionary TextServerExtension::font_supported_feature_list(const RID &p_font_rid) const {
Dictionary ret;
- if (GDVIRTUAL_CALL(_font_supported_feature_list, p_font_rid, ret)) {
+ if (GDVIRTUAL_CALL(font_supported_feature_list, p_font_rid, ret)) {
return ret;
}
return Dictionary();
}
-Dictionary TextServerExtension::font_supported_variation_list(RID p_font_rid) const {
+Dictionary TextServerExtension::font_supported_variation_list(const RID &p_font_rid) const {
Dictionary ret;
- if (GDVIRTUAL_CALL(_font_supported_variation_list, p_font_rid, ret)) {
+ if (GDVIRTUAL_CALL(font_supported_variation_list, p_font_rid, ret)) {
return ret;
}
return Dictionary();
}
-float TextServerExtension::font_get_global_oversampling() const {
- float ret;
- if (GDVIRTUAL_CALL(_font_get_global_oversampling, ret)) {
+double TextServerExtension::font_get_global_oversampling() const {
+ double ret;
+ if (GDVIRTUAL_CALL(font_get_global_oversampling, ret)) {
return ret;
}
- return 0.f;
+ return 0.0;
}
-void TextServerExtension::font_set_global_oversampling(float p_oversampling) {
- GDVIRTUAL_CALL(_font_set_global_oversampling, p_oversampling);
+void TextServerExtension::font_set_global_oversampling(double p_oversampling) {
+ GDVIRTUAL_CALL(font_set_global_oversampling, p_oversampling);
}
-Vector2 TextServerExtension::get_hex_code_box_size(int p_size, char32_t p_index) const {
+Vector2 TextServerExtension::get_hex_code_box_size(int64_t p_size, int64_t p_index) const {
Vector2 ret;
- if (GDVIRTUAL_CALL(_get_hex_code_box_size, p_size, p_index, ret)) {
+ if (GDVIRTUAL_CALL(get_hex_code_box_size, p_size, p_index, ret)) {
return ret;
}
return TextServer::get_hex_code_box_size(p_size, p_index);
}
-void TextServerExtension::draw_hex_code_box(RID p_canvas, int p_size, const Vector2 &p_pos, char32_t p_index, const Color &p_color) const {
- if (!GDVIRTUAL_CALL(_draw_hex_code_box, p_canvas, p_size, p_pos, p_index, p_color)) {
+void TextServerExtension::draw_hex_code_box(const RID &p_canvas, int64_t p_size, const Vector2 &p_pos, int64_t p_index, const Color &p_color) const {
+ if (!GDVIRTUAL_CALL(draw_hex_code_box, p_canvas, p_size, p_pos, p_index, p_color)) {
TextServer::draw_hex_code_box(p_canvas, p_size, p_pos, p_index, p_color);
}
}
@@ -985,433 +987,425 @@ void TextServerExtension::draw_hex_code_box(RID p_canvas, int p_size, const Vect
RID TextServerExtension::create_shaped_text(TextServer::Direction p_direction, TextServer::Orientation p_orientation) {
RID ret;
- if (GDVIRTUAL_CALL(_create_shaped_text, p_direction, p_orientation, ret)) {
+ if (GDVIRTUAL_CALL(create_shaped_text, p_direction, p_orientation, ret)) {
return ret;
}
return RID();
}
-void TextServerExtension::shaped_text_clear(RID p_shaped) {
- GDVIRTUAL_CALL(_shaped_text_clear, p_shaped);
+void TextServerExtension::shaped_text_clear(const RID &p_shaped) {
+ GDVIRTUAL_CALL(shaped_text_clear, p_shaped);
}
-void TextServerExtension::shaped_text_set_direction(RID p_shaped, TextServer::Direction p_direction) {
- GDVIRTUAL_CALL(_shaped_text_set_direction, p_shaped, p_direction);
+void TextServerExtension::shaped_text_set_direction(const RID &p_shaped, TextServer::Direction p_direction) {
+ GDVIRTUAL_CALL(shaped_text_set_direction, p_shaped, p_direction);
}
-TextServer::Direction TextServerExtension::shaped_text_get_direction(RID p_shaped) const {
+TextServer::Direction TextServerExtension::shaped_text_get_direction(const RID &p_shaped) const {
TextServer::Direction ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_direction, p_shaped, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_direction, p_shaped, ret)) {
return (TextServer::Direction)ret;
}
return TextServer::Direction::DIRECTION_AUTO;
}
-TextServer::Direction TextServerExtension::shaped_text_get_inferred_direction(RID p_shaped) const {
+TextServer::Direction TextServerExtension::shaped_text_get_inferred_direction(const RID &p_shaped) const {
TextServer::Direction ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_inferred_direction, p_shaped, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_inferred_direction, p_shaped, ret)) {
return (TextServer::Direction)ret;
}
return TextServer::Direction::DIRECTION_LTR;
}
-void TextServerExtension::shaped_text_set_orientation(RID p_shaped, TextServer::Orientation p_orientation) {
- GDVIRTUAL_CALL(_shaped_text_set_orientation, p_shaped, p_orientation);
+void TextServerExtension::shaped_text_set_orientation(const RID &p_shaped, TextServer::Orientation p_orientation) {
+ GDVIRTUAL_CALL(shaped_text_set_orientation, p_shaped, p_orientation);
}
-TextServer::Orientation TextServerExtension::shaped_text_get_orientation(RID p_shaped) const {
+TextServer::Orientation TextServerExtension::shaped_text_get_orientation(const RID &p_shaped) const {
TextServer::Orientation ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_orientation, p_shaped, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_orientation, p_shaped, ret)) {
return (TextServer::Orientation)ret;
}
return TextServer::Orientation::ORIENTATION_HORIZONTAL;
}
-void TextServerExtension::shaped_text_set_bidi_override(RID p_shaped, const Array &p_override) {
- GDVIRTUAL_CALL(_shaped_text_set_bidi_override, p_shaped, p_override);
+void TextServerExtension::shaped_text_set_bidi_override(const RID &p_shaped, const Array &p_override) {
+ GDVIRTUAL_CALL(shaped_text_set_bidi_override, p_shaped, p_override);
}
-void TextServerExtension::shaped_text_set_custom_punctuation(RID p_shaped, const String &p_punct) {
- GDVIRTUAL_CALL(_shaped_text_set_custom_punctuation, p_shaped, p_punct);
+void TextServerExtension::shaped_text_set_custom_punctuation(const RID &p_shaped, const String &p_punct) {
+ GDVIRTUAL_CALL(shaped_text_set_custom_punctuation, p_shaped, p_punct);
}
-String TextServerExtension::shaped_text_get_custom_punctuation(RID p_shaped) const {
+String TextServerExtension::shaped_text_get_custom_punctuation(const RID &p_shaped) const {
String ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_custom_punctuation, p_shaped, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_custom_punctuation, p_shaped, ret)) {
return ret;
}
return String();
}
-void TextServerExtension::shaped_text_set_preserve_invalid(RID p_shaped, bool p_enabled) {
- GDVIRTUAL_CALL(_shaped_text_set_preserve_invalid, p_shaped, p_enabled);
+void TextServerExtension::shaped_text_set_preserve_invalid(const RID &p_shaped, bool p_enabled) {
+ GDVIRTUAL_CALL(shaped_text_set_preserve_invalid, p_shaped, p_enabled);
}
-bool TextServerExtension::shaped_text_get_preserve_invalid(RID p_shaped) const {
+bool TextServerExtension::shaped_text_get_preserve_invalid(const RID &p_shaped) const {
bool ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_preserve_invalid, p_shaped, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_preserve_invalid, p_shaped, ret)) {
return ret;
}
return false;
}
-void TextServerExtension::shaped_text_set_preserve_control(RID p_shaped, bool p_enabled) {
- GDVIRTUAL_CALL(_shaped_text_set_preserve_control, p_shaped, p_enabled);
+void TextServerExtension::shaped_text_set_preserve_control(const RID &p_shaped, bool p_enabled) {
+ GDVIRTUAL_CALL(shaped_text_set_preserve_control, p_shaped, p_enabled);
}
-bool TextServerExtension::shaped_text_get_preserve_control(RID p_shaped) const {
+bool TextServerExtension::shaped_text_get_preserve_control(const RID &p_shaped) const {
bool ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_preserve_control, p_shaped, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_preserve_control, p_shaped, ret)) {
return ret;
}
return false;
}
-bool TextServerExtension::shaped_text_add_string(RID p_shaped, const String &p_text, const Vector<RID> &p_fonts, int p_size, const Dictionary &p_opentype_features, const String &p_language, const Variant &p_meta) {
+bool TextServerExtension::shaped_text_add_string(const RID &p_shaped, const String &p_text, const Array &p_fonts, int64_t p_size, const Dictionary &p_opentype_features, const String &p_language, const Variant &p_meta) {
bool ret;
- Array fonts;
- for (int i = 0; i < p_fonts.size(); i++) {
- fonts.push_back(p_fonts[i]);
- }
- if (GDVIRTUAL_CALL(_shaped_text_add_string, p_shaped, p_text, fonts, p_size, p_opentype_features, p_language, p_meta, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_add_string, p_shaped, p_text, p_fonts, p_size, p_opentype_features, p_language, p_meta, ret)) {
return ret;
}
return false;
}
-bool TextServerExtension::shaped_text_add_object(RID p_shaped, Variant p_key, const Size2 &p_size, InlineAlignment p_inline_align, int p_length) {
+bool TextServerExtension::shaped_text_add_object(const RID &p_shaped, const Variant &p_key, const Size2 &p_size, InlineAlignment p_inline_align, int64_t p_length) {
bool ret;
- if (GDVIRTUAL_CALL(_shaped_text_add_object, p_shaped, p_key, p_size, p_inline_align, p_length, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_add_object, p_shaped, p_key, p_size, p_inline_align, p_length, ret)) {
return ret;
}
return false;
}
-bool TextServerExtension::shaped_text_resize_object(RID p_shaped, Variant p_key, const Size2 &p_size, InlineAlignment p_inline_align) {
+bool TextServerExtension::shaped_text_resize_object(const RID &p_shaped, const Variant &p_key, const Size2 &p_size, InlineAlignment p_inline_align) {
bool ret;
- if (GDVIRTUAL_CALL(_shaped_text_resize_object, p_shaped, p_key, p_size, p_inline_align, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_resize_object, p_shaped, p_key, p_size, p_inline_align, ret)) {
return ret;
}
return false;
}
-int TextServerExtension::shaped_get_span_count(RID p_shaped) const {
- int ret;
- if (GDVIRTUAL_CALL(_shaped_get_span_count, p_shaped, ret)) {
+int64_t TextServerExtension::shaped_get_span_count(const RID &p_shaped) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(shaped_get_span_count, p_shaped, ret)) {
return ret;
}
return 0;
}
-Variant TextServerExtension::shaped_get_span_meta(RID p_shaped, int p_index) const {
+Variant TextServerExtension::shaped_get_span_meta(const RID &p_shaped, int64_t p_index) const {
Variant ret;
- if (GDVIRTUAL_CALL(_shaped_get_span_meta, p_shaped, p_index, ret)) {
+ if (GDVIRTUAL_CALL(shaped_get_span_meta, p_shaped, p_index, ret)) {
return ret;
}
return false;
}
-void TextServerExtension::shaped_set_span_update_font(RID p_shaped, int p_index, const Vector<RID> &p_fonts, int p_size, const Dictionary &p_opentype_features) {
- Array fonts;
- for (int i = 0; i < p_fonts.size(); i++) {
- fonts.push_back(p_fonts[i]);
- }
- GDVIRTUAL_CALL(_shaped_set_span_update_font, p_shaped, p_index, fonts, p_size, p_opentype_features);
+void TextServerExtension::shaped_set_span_update_font(const RID &p_shaped, int64_t p_index, const Array &p_fonts, int64_t p_size, const Dictionary &p_opentype_features) {
+ GDVIRTUAL_CALL(shaped_set_span_update_font, p_shaped, p_index, p_fonts, p_size, p_opentype_features);
}
-RID TextServerExtension::shaped_text_substr(RID p_shaped, int p_start, int p_length) const {
+RID TextServerExtension::shaped_text_substr(const RID &p_shaped, int64_t p_start, int64_t p_length) const {
RID ret;
- if (GDVIRTUAL_CALL(_shaped_text_substr, p_shaped, p_start, p_length, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_substr, p_shaped, p_start, p_length, ret)) {
return ret;
}
return RID();
}
-RID TextServerExtension::shaped_text_get_parent(RID p_shaped) const {
+RID TextServerExtension::shaped_text_get_parent(const RID &p_shaped) const {
RID ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_parent, p_shaped, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_parent, p_shaped, ret)) {
return ret;
}
return RID();
}
-float TextServerExtension::shaped_text_fit_to_width(RID p_shaped, float p_width, uint16_t p_jst_flags) {
- float ret;
- if (GDVIRTUAL_CALL(_shaped_text_fit_to_width, p_shaped, p_width, p_jst_flags, ret)) {
+double TextServerExtension::shaped_text_fit_to_width(const RID &p_shaped, double p_width, int64_t p_jst_flags) {
+ double ret;
+ if (GDVIRTUAL_CALL(shaped_text_fit_to_width, p_shaped, p_width, p_jst_flags, ret)) {
return ret;
}
- return 0.f;
+ return 0.0;
}
-float TextServerExtension::shaped_text_tab_align(RID p_shaped, const PackedFloat32Array &p_tab_stops) {
- float ret;
- if (GDVIRTUAL_CALL(_shaped_text_tab_align, p_shaped, p_tab_stops, ret)) {
+double TextServerExtension::shaped_text_tab_align(const RID &p_shaped, const PackedFloat32Array &p_tab_stops) {
+ double ret;
+ if (GDVIRTUAL_CALL(shaped_text_tab_align, p_shaped, p_tab_stops, ret)) {
return ret;
}
- return 0.f;
+ return 0.0;
}
-bool TextServerExtension::shaped_text_shape(RID p_shaped) {
+bool TextServerExtension::shaped_text_shape(const RID &p_shaped) {
bool ret;
- if (GDVIRTUAL_CALL(_shaped_text_shape, p_shaped, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_shape, p_shaped, ret)) {
return ret;
}
return false;
}
-bool TextServerExtension::shaped_text_update_breaks(RID p_shaped) {
+bool TextServerExtension::shaped_text_update_breaks(const RID &p_shaped) {
bool ret;
- if (GDVIRTUAL_CALL(_shaped_text_update_breaks, p_shaped, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_update_breaks, p_shaped, ret)) {
return ret;
}
return false;
}
-bool TextServerExtension::shaped_text_update_justification_ops(RID p_shaped) {
+bool TextServerExtension::shaped_text_update_justification_ops(const RID &p_shaped) {
bool ret;
- if (GDVIRTUAL_CALL(_shaped_text_update_justification_ops, p_shaped, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_update_justification_ops, p_shaped, ret)) {
return ret;
}
return false;
}
-bool TextServerExtension::shaped_text_is_ready(RID p_shaped) const {
+bool TextServerExtension::shaped_text_is_ready(const RID &p_shaped) const {
bool ret;
- if (GDVIRTUAL_CALL(_shaped_text_is_ready, p_shaped, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_is_ready, p_shaped, ret)) {
return ret;
}
return false;
}
-const Glyph *TextServerExtension::shaped_text_get_glyphs(RID p_shaped) const {
- GDNativePtr<Glyph> ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_glyphs, p_shaped, ret)) {
+const Glyph *TextServerExtension::shaped_text_get_glyphs(const RID &p_shaped) const {
+ GDNativeConstPtr<const Glyph> ret;
+ if (GDVIRTUAL_CALL(shaped_text_get_glyphs, p_shaped, ret)) {
return ret;
}
return nullptr;
}
-const Glyph *TextServerExtension::shaped_text_sort_logical(RID p_shaped) {
- GDNativePtr<Glyph> ret;
- if (GDVIRTUAL_CALL(_shaped_text_sort_logical, p_shaped, ret)) {
+const Glyph *TextServerExtension::shaped_text_sort_logical(const RID &p_shaped) {
+ GDNativeConstPtr<const Glyph> ret;
+ if (GDVIRTUAL_CALL(shaped_text_sort_logical, p_shaped, ret)) {
return ret;
}
return nullptr;
}
-int TextServerExtension::shaped_text_get_glyph_count(RID p_shaped) const {
- int ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_glyph_count, p_shaped, ret)) {
+int64_t TextServerExtension::shaped_text_get_glyph_count(const RID &p_shaped) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(shaped_text_get_glyph_count, p_shaped, ret)) {
return ret;
}
return 0;
}
-Vector2i TextServerExtension::shaped_text_get_range(RID p_shaped) const {
+Vector2i TextServerExtension::shaped_text_get_range(const RID &p_shaped) const {
Vector2i ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_range, p_shaped, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_range, p_shaped, ret)) {
return ret;
}
return Vector2i();
}
-PackedInt32Array TextServerExtension::shaped_text_get_line_breaks_adv(RID p_shaped, const PackedFloat32Array &p_width, int p_start, bool p_once, uint16_t p_break_flags) const {
+PackedInt32Array TextServerExtension::shaped_text_get_line_breaks_adv(const RID &p_shaped, const PackedFloat32Array &p_width, int64_t p_start, bool p_once, int64_t p_break_flags) const {
PackedInt32Array ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_line_breaks_adv, p_shaped, p_width, p_start, p_once, p_break_flags, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_line_breaks_adv, p_shaped, p_width, p_start, p_once, p_break_flags, ret)) {
return ret;
}
return TextServer::shaped_text_get_line_breaks_adv(p_shaped, p_width, p_start, p_once, p_break_flags);
}
-PackedInt32Array TextServerExtension::shaped_text_get_line_breaks(RID p_shaped, float p_width, int p_start, uint16_t p_break_flags) const {
+PackedInt32Array TextServerExtension::shaped_text_get_line_breaks(const RID &p_shaped, double p_width, int64_t p_start, int64_t p_break_flags) const {
PackedInt32Array ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_line_breaks, p_shaped, p_width, p_start, p_break_flags, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_line_breaks, p_shaped, p_width, p_start, p_break_flags, ret)) {
return ret;
}
return TextServer::shaped_text_get_line_breaks(p_shaped, p_width, p_start, p_break_flags);
}
-PackedInt32Array TextServerExtension::shaped_text_get_word_breaks(RID p_shaped, int p_grapheme_flags) const {
+PackedInt32Array TextServerExtension::shaped_text_get_word_breaks(const RID &p_shaped, int64_t p_grapheme_flags) const {
PackedInt32Array ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_word_breaks, p_shaped, p_grapheme_flags, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_word_breaks, p_shaped, p_grapheme_flags, ret)) {
return ret;
}
return TextServer::shaped_text_get_word_breaks(p_shaped, p_grapheme_flags);
}
-int TextServerExtension::shaped_text_get_trim_pos(RID p_shaped) const {
- int ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_trim_pos, p_shaped, ret)) {
+int64_t TextServerExtension::shaped_text_get_trim_pos(const RID &p_shaped) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(shaped_text_get_trim_pos, p_shaped, ret)) {
return ret;
}
return -1;
}
-int TextServerExtension::shaped_text_get_ellipsis_pos(RID p_shaped) const {
- int ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_ellipsis_pos, p_shaped, ret)) {
+int64_t TextServerExtension::shaped_text_get_ellipsis_pos(const RID &p_shaped) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(shaped_text_get_ellipsis_pos, p_shaped, ret)) {
return ret;
}
return -1;
}
-const Glyph *TextServerExtension::shaped_text_get_ellipsis_glyphs(RID p_shaped) const {
- GDNativePtr<Glyph> ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_ellipsis_glyphs, p_shaped, ret)) {
+const Glyph *TextServerExtension::shaped_text_get_ellipsis_glyphs(const RID &p_shaped) const {
+ GDNativeConstPtr<const Glyph> ret;
+ if (GDVIRTUAL_CALL(shaped_text_get_ellipsis_glyphs, p_shaped, ret)) {
return ret;
}
return nullptr;
}
-int TextServerExtension::shaped_text_get_ellipsis_glyph_count(RID p_shaped) const {
- int ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_ellipsis_glyph_count, p_shaped, ret)) {
+int64_t TextServerExtension::shaped_text_get_ellipsis_glyph_count(const RID &p_shaped) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(shaped_text_get_ellipsis_glyph_count, p_shaped, ret)) {
return ret;
}
return -1;
}
-void TextServerExtension::shaped_text_overrun_trim_to_width(RID p_shaped_line, float p_width, uint16_t p_trim_flags) {
- GDVIRTUAL_CALL(_shaped_text_overrun_trim_to_width, p_shaped_line, p_width, p_trim_flags);
+void TextServerExtension::shaped_text_overrun_trim_to_width(const RID &p_shaped_line, double p_width, int64_t p_trim_flags) {
+ GDVIRTUAL_CALL(shaped_text_overrun_trim_to_width, p_shaped_line, p_width, p_trim_flags);
}
-Array TextServerExtension::shaped_text_get_objects(RID p_shaped) const {
+Array TextServerExtension::shaped_text_get_objects(const RID &p_shaped) const {
Array ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_objects, p_shaped, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_objects, p_shaped, ret)) {
return ret;
}
return Array();
}
-Rect2 TextServerExtension::shaped_text_get_object_rect(RID p_shaped, Variant p_key) const {
+Rect2 TextServerExtension::shaped_text_get_object_rect(const RID &p_shaped, const Variant &p_key) const {
Rect2 ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_object_rect, p_shaped, p_key, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_object_rect, p_shaped, p_key, ret)) {
return ret;
}
return Rect2();
}
-Size2 TextServerExtension::shaped_text_get_size(RID p_shaped) const {
+Size2 TextServerExtension::shaped_text_get_size(const RID &p_shaped) const {
Size2 ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_size, p_shaped, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_size, p_shaped, ret)) {
return ret;
}
return Size2();
}
-float TextServerExtension::shaped_text_get_ascent(RID p_shaped) const {
- float ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_ascent, p_shaped, ret)) {
+double TextServerExtension::shaped_text_get_ascent(const RID &p_shaped) const {
+ double ret;
+ if (GDVIRTUAL_CALL(shaped_text_get_ascent, p_shaped, ret)) {
return ret;
}
- return 0.f;
+ return 0.0;
}
-float TextServerExtension::shaped_text_get_descent(RID p_shaped) const {
- float ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_descent, p_shaped, ret)) {
+double TextServerExtension::shaped_text_get_descent(const RID &p_shaped) const {
+ double ret;
+ if (GDVIRTUAL_CALL(shaped_text_get_descent, p_shaped, ret)) {
return ret;
}
- return 0.f;
+ return 0.0;
}
-float TextServerExtension::shaped_text_get_width(RID p_shaped) const {
- float ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_width, p_shaped, ret)) {
+double TextServerExtension::shaped_text_get_width(const RID &p_shaped) const {
+ double ret;
+ if (GDVIRTUAL_CALL(shaped_text_get_width, p_shaped, ret)) {
return ret;
}
- return 0.f;
+ return 0.0;
}
-float TextServerExtension::shaped_text_get_underline_position(RID p_shaped) const {
- float ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_underline_position, p_shaped, ret)) {
+double TextServerExtension::shaped_text_get_underline_position(const RID &p_shaped) const {
+ double ret;
+ if (GDVIRTUAL_CALL(shaped_text_get_underline_position, p_shaped, ret)) {
return ret;
}
- return 0.f;
+ return 0.0;
}
-float TextServerExtension::shaped_text_get_underline_thickness(RID p_shaped) const {
- float ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_underline_thickness, p_shaped, ret)) {
+double TextServerExtension::shaped_text_get_underline_thickness(const RID &p_shaped) const {
+ double ret;
+ if (GDVIRTUAL_CALL(shaped_text_get_underline_thickness, p_shaped, ret)) {
return ret;
}
- return 0.f;
+ return 0.0;
}
-TextServer::Direction TextServerExtension::shaped_text_get_dominant_direction_in_range(RID p_shaped, int p_start, int p_end) const {
- int ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_dominant_direction_in_range, p_shaped, p_start, p_end, ret)) {
+TextServer::Direction TextServerExtension::shaped_text_get_dominant_direction_in_range(const RID &p_shaped, int64_t p_start, int64_t p_end) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(shaped_text_get_dominant_direction_in_range, p_shaped, p_start, p_end, ret)) {
return (TextServer::Direction)ret;
}
return TextServer::shaped_text_get_dominant_direction_in_range(p_shaped, p_start, p_end);
}
-CaretInfo TextServerExtension::shaped_text_get_carets(RID p_shaped, int p_position) const {
+CaretInfo TextServerExtension::shaped_text_get_carets(const RID &p_shaped, int64_t p_position) const {
CaretInfo ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_carets, p_shaped, p_position, &ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_carets, p_shaped, p_position, &ret)) {
return ret;
}
return TextServer::shaped_text_get_carets(p_shaped, p_position);
}
-Vector<Vector2> TextServerExtension::shaped_text_get_selection(RID p_shaped, int p_start, int p_end) const {
+Vector<Vector2> TextServerExtension::shaped_text_get_selection(const RID &p_shaped, int64_t p_start, int64_t p_end) const {
Vector<Vector2> ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_selection, p_shaped, p_start, p_end, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_selection, p_shaped, p_start, p_end, ret)) {
return ret;
}
return TextServer::shaped_text_get_selection(p_shaped, p_start, p_end);
}
-int TextServerExtension::shaped_text_hit_test_grapheme(RID p_shaped, float p_coords) const {
- int ret;
- if (GDVIRTUAL_CALL(_shaped_text_hit_test_grapheme, p_shaped, p_coords, ret)) {
+int64_t TextServerExtension::shaped_text_hit_test_grapheme(const RID &p_shaped, double p_coords) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(shaped_text_hit_test_grapheme, p_shaped, p_coords, ret)) {
return ret;
}
return TextServer::shaped_text_hit_test_grapheme(p_shaped, p_coords);
}
-int TextServerExtension::shaped_text_hit_test_position(RID p_shaped, float p_coords) const {
- int ret;
- if (GDVIRTUAL_CALL(_shaped_text_hit_test_position, p_shaped, p_coords, ret)) {
+int64_t TextServerExtension::shaped_text_hit_test_position(const RID &p_shaped, double p_coords) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(shaped_text_hit_test_position, p_shaped, p_coords, ret)) {
return ret;
}
return TextServer::shaped_text_hit_test_position(p_shaped, p_coords);
}
-void TextServerExtension::shaped_text_draw(RID p_shaped, RID p_canvas, const Vector2 &p_pos, float p_clip_l, float p_clip_r, const Color &p_color) const {
- if (GDVIRTUAL_CALL(_shaped_text_draw, p_shaped, p_canvas, p_pos, p_clip_l, p_clip_r, p_color)) {
+void TextServerExtension::shaped_text_draw(const RID &p_shaped, const RID &p_canvas, const Vector2 &p_pos, double p_clip_l, double p_clip_r, const Color &p_color) const {
+ if (GDVIRTUAL_CALL(shaped_text_draw, p_shaped, p_canvas, p_pos, p_clip_l, p_clip_r, p_color)) {
return;
}
TextServer::shaped_text_draw(p_shaped, p_canvas, p_pos, p_clip_l, p_clip_r, p_color);
}
-void TextServerExtension::shaped_text_draw_outline(RID p_shaped, RID p_canvas, const Vector2 &p_pos, float p_clip_l, float p_clip_r, int p_outline_size, const Color &p_color) const {
- if (GDVIRTUAL_CALL(_shaped_text_draw_outline, p_shaped, p_canvas, p_pos, p_clip_l, p_clip_r, p_outline_size, p_color)) {
+void TextServerExtension::shaped_text_draw_outline(const RID &p_shaped, const RID &p_canvas, const Vector2 &p_pos, double p_clip_l, double p_clip_r, int64_t p_outline_size, const Color &p_color) const {
+ if (GDVIRTUAL_CALL(shaped_text_draw_outline, p_shaped, p_canvas, p_pos, p_clip_l, p_clip_r, p_outline_size, p_color)) {
return;
}
- shaped_text_draw_outline(p_shaped, p_canvas, p_pos, p_clip_l, p_clip_r, p_outline_size, p_color);
+ TextServer::shaped_text_draw_outline(p_shaped, p_canvas, p_pos, p_clip_l, p_clip_r, p_outline_size, p_color);
}
-Vector2 TextServerExtension::shaped_text_get_grapheme_bounds(RID p_shaped, int p_pos) const {
+Vector2 TextServerExtension::shaped_text_get_grapheme_bounds(const RID &p_shaped, int64_t p_pos) const {
Vector2 ret;
- if (GDVIRTUAL_CALL(_shaped_text_get_grapheme_bounds, p_shaped, p_pos, ret)) {
+ if (GDVIRTUAL_CALL(shaped_text_get_grapheme_bounds, p_shaped, p_pos, ret)) {
return ret;
}
return TextServer::shaped_text_get_grapheme_bounds(p_shaped, p_pos);
}
-int TextServerExtension::shaped_text_next_grapheme_pos(RID p_shaped, int p_pos) const {
- int ret;
- if (GDVIRTUAL_CALL(_shaped_text_next_grapheme_pos, p_shaped, p_pos, ret)) {
+int64_t TextServerExtension::shaped_text_next_grapheme_pos(const RID &p_shaped, int64_t p_pos) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(shaped_text_next_grapheme_pos, p_shaped, p_pos, ret)) {
return ret;
}
return TextServer::shaped_text_next_grapheme_pos(p_shaped, p_pos);
}
-int TextServerExtension::shaped_text_prev_grapheme_pos(RID p_shaped, int p_pos) const {
- int ret;
- if (GDVIRTUAL_CALL(_shaped_text_prev_grapheme_pos, p_shaped, p_pos, ret)) {
+int64_t TextServerExtension::shaped_text_prev_grapheme_pos(const RID &p_shaped, int64_t p_pos) const {
+ int64_t ret;
+ if (GDVIRTUAL_CALL(shaped_text_prev_grapheme_pos, p_shaped, p_pos, ret)) {
return ret;
}
return TextServer::shaped_text_prev_grapheme_pos(p_shaped, p_pos);
@@ -1419,31 +1413,39 @@ int TextServerExtension::shaped_text_prev_grapheme_pos(RID p_shaped, int p_pos)
String TextServerExtension::format_number(const String &p_string, const String &p_language) const {
String ret;
- if (GDVIRTUAL_CALL(_format_number, p_string, p_language, ret)) {
+ if (GDVIRTUAL_CALL(format_number, p_string, p_language, ret)) {
return ret;
}
- return TextServer::format_number(p_string, p_language);
+ return p_string;
}
String TextServerExtension::parse_number(const String &p_string, const String &p_language) const {
String ret;
- if (GDVIRTUAL_CALL(_parse_number, p_string, p_language, ret)) {
+ if (GDVIRTUAL_CALL(parse_number, p_string, p_language, ret)) {
return ret;
}
- return TextServer::parse_number(p_string, p_language);
+ return p_string;
}
String TextServerExtension::percent_sign(const String &p_language) const {
String ret;
- if (GDVIRTUAL_CALL(_percent_sign, p_language, ret)) {
+ if (GDVIRTUAL_CALL(percent_sign, p_language, ret)) {
+ return ret;
+ }
+ return "%";
+}
+
+String TextServerExtension::strip_diacritics(const String &p_string) const {
+ String ret;
+ if (GDVIRTUAL_CALL(strip_diacritics, p_string, ret)) {
return ret;
}
- return TextServer::percent_sign(p_language);
+ return TextServer::strip_diacritics(p_string);
}
String TextServerExtension::string_to_upper(const String &p_string, const String &p_language) const {
String ret;
- if (GDVIRTUAL_CALL(_string_to_upper, p_string, p_language, ret)) {
+ if (GDVIRTUAL_CALL(string_to_upper, p_string, p_language, ret)) {
return ret;
}
return p_string;
@@ -1451,7 +1453,7 @@ String TextServerExtension::string_to_upper(const String &p_string, const String
String TextServerExtension::string_to_lower(const String &p_string, const String &p_language) const {
String ret;
- if (GDVIRTUAL_CALL(_string_to_lower, p_string, p_language, ret)) {
+ if (GDVIRTUAL_CALL(string_to_lower, p_string, p_language, ret)) {
return ret;
}
return p_string;
diff --git a/servers/text/text_server_extension.h b/servers/text/text_server_extension.h
index 7d80467371..c6e7bef4e8 100644
--- a/servers/text/text_server_extension.h
+++ b/servers/text/text_server_extension.h
@@ -48,433 +48,436 @@ protected:
public:
virtual bool has_feature(Feature p_feature) const override;
virtual String get_name() const override;
- virtual uint32_t get_features() const override;
- GDVIRTUAL1RC(bool, _has_feature, Feature);
- GDVIRTUAL0RC(String, _get_name);
- GDVIRTUAL0RC(uint32_t, _get_features);
+ virtual int64_t get_features() const override;
+ GDVIRTUAL1RC(bool, has_feature, Feature);
+ GDVIRTUAL0RC(String, get_name);
+ GDVIRTUAL0RC(int64_t, get_features);
- virtual void free(RID p_rid) override;
- virtual bool has(RID p_rid) override;
+ virtual void free_rid(const RID &p_rid) override;
+ virtual bool has(const RID &p_rid) override;
virtual bool load_support_data(const String &p_filename) override;
- GDVIRTUAL1(_free, RID);
- GDVIRTUAL1R(bool, _has, RID);
- GDVIRTUAL1R(bool, _load_support_data, const String &);
+ GDVIRTUAL1(free_rid, RID);
+ GDVIRTUAL1R(bool, has, RID);
+ GDVIRTUAL1R(bool, load_support_data, const String &);
virtual String get_support_data_filename() const override;
virtual String get_support_data_info() const override;
virtual bool save_support_data(const String &p_filename) const override;
- GDVIRTUAL0RC(String, _get_support_data_filename);
- GDVIRTUAL0RC(String, _get_support_data_info);
- GDVIRTUAL1RC(bool, _save_support_data, const String &);
+ GDVIRTUAL0RC(String, get_support_data_filename);
+ GDVIRTUAL0RC(String, get_support_data_info);
+ GDVIRTUAL1RC(bool, save_support_data, const String &);
virtual bool is_locale_right_to_left(const String &p_locale) const override;
- GDVIRTUAL1RC(bool, _is_locale_right_to_left, const String &);
+ GDVIRTUAL1RC(bool, is_locale_right_to_left, const String &);
- virtual int32_t name_to_tag(const String &p_name) const override;
- virtual String tag_to_name(int32_t p_tag) const override;
- GDVIRTUAL1RC(int32_t, _name_to_tag, const String &);
- GDVIRTUAL1RC(String, _tag_to_name, int32_t);
+ virtual int64_t name_to_tag(const String &p_name) const override;
+ virtual String tag_to_name(int64_t p_tag) const override;
+ GDVIRTUAL1RC(int64_t, name_to_tag, const String &);
+ GDVIRTUAL1RC(String, tag_to_name, int64_t);
/* Font interface */
virtual RID create_font() override;
- GDVIRTUAL0R(RID, _create_font);
-
- virtual void font_set_data(RID p_font_rid, const PackedByteArray &p_data) override;
- virtual void font_set_data_ptr(RID p_font_rid, const uint8_t *p_data_ptr, size_t p_data_size) override;
- GDVIRTUAL2(_font_set_data, RID, const PackedByteArray &);
- GDVIRTUAL3(_font_set_data_ptr, RID, GDNativeConstPtr<const uint8_t>, uint64_t);
-
- virtual void font_set_style(RID p_font_rid, uint32_t /*FontStyle*/ p_style) override;
- virtual uint32_t /*FontStyle*/ font_get_style(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_style, RID, uint32_t);
- GDVIRTUAL1RC(uint32_t, _font_get_style, RID);
-
- virtual void font_set_name(RID p_font_rid, const String &p_name) override;
- virtual String font_get_name(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_name, RID, const String &);
- GDVIRTUAL1RC(String, _font_get_name, RID);
-
- virtual void font_set_style_name(RID p_font_rid, const String &p_name) override;
- virtual String font_get_style_name(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_style_name, RID, const String &);
- GDVIRTUAL1RC(String, _font_get_style_name, RID);
-
- virtual void font_set_antialiased(RID p_font_rid, bool p_antialiased) override;
- virtual bool font_is_antialiased(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_antialiased, RID, bool);
- GDVIRTUAL1RC(bool, _font_is_antialiased, RID);
-
- virtual void font_set_multichannel_signed_distance_field(RID p_font_rid, bool p_msdf) override;
- virtual bool font_is_multichannel_signed_distance_field(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_multichannel_signed_distance_field, RID, bool);
- GDVIRTUAL1RC(bool, _font_is_multichannel_signed_distance_field, RID);
-
- virtual void font_set_msdf_pixel_range(RID p_font_rid, int p_msdf_pixel_range) override;
- virtual int font_get_msdf_pixel_range(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_msdf_pixel_range, RID, int);
- GDVIRTUAL1RC(int, _font_get_msdf_pixel_range, RID);
-
- virtual void font_set_msdf_size(RID p_font_rid, int p_msdf_size) override;
- virtual int font_get_msdf_size(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_msdf_size, RID, int);
- GDVIRTUAL1RC(int, _font_get_msdf_size, RID);
-
- virtual void font_set_fixed_size(RID p_font_rid, int p_fixed_size) override;
- virtual int font_get_fixed_size(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_fixed_size, RID, int);
- GDVIRTUAL1RC(int, _font_get_fixed_size, RID);
-
- virtual void font_set_force_autohinter(RID p_font_rid, bool p_force_autohinter) override;
- virtual bool font_is_force_autohinter(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_force_autohinter, RID, bool);
- GDVIRTUAL1RC(bool, _font_is_force_autohinter, RID);
-
- virtual void font_set_hinting(RID p_font_rid, Hinting p_hinting) override;
- virtual Hinting font_get_hinting(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_hinting, RID, Hinting);
- GDVIRTUAL1RC(Hinting, _font_get_hinting, RID);
-
- virtual void font_set_subpixel_positioning(RID p_font_rid, SubpixelPositioning p_subpixel) override;
- virtual SubpixelPositioning font_get_subpixel_positioning(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_subpixel_positioning, RID, SubpixelPositioning);
- GDVIRTUAL1RC(SubpixelPositioning, _font_get_subpixel_positioning, RID);
-
- virtual void font_set_embolden(RID p_font_rid, float p_strength) override;
- virtual float font_get_embolden(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_embolden, RID, float);
- GDVIRTUAL1RC(float, _font_get_embolden, RID);
-
- virtual void font_set_transform(RID p_font_rid, Transform2D p_transform) override;
- virtual Transform2D font_get_transform(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_transform, RID, Transform2D);
- GDVIRTUAL1RC(Transform2D, _font_get_transform, RID);
-
- virtual void font_set_variation_coordinates(RID p_font_rid, const Dictionary &p_variation_coordinates) override;
- virtual Dictionary font_get_variation_coordinates(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_variation_coordinates, RID, Dictionary);
- GDVIRTUAL1RC(Dictionary, _font_get_variation_coordinates, RID);
-
- virtual void font_set_oversampling(RID p_font_rid, float p_oversampling) override;
- virtual float font_get_oversampling(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_oversampling, RID, float);
- GDVIRTUAL1RC(float, _font_get_oversampling, RID);
-
- virtual Array font_get_size_cache_list(RID p_font_rid) const override;
- virtual void font_clear_size_cache(RID p_font_rid) override;
- virtual void font_remove_size_cache(RID p_font_rid, const Vector2i &p_size) override;
- GDVIRTUAL1RC(Array, _font_get_size_cache_list, RID);
- GDVIRTUAL1(_font_clear_size_cache, RID);
- GDVIRTUAL2(_font_remove_size_cache, RID, const Vector2i &);
-
- virtual void font_set_ascent(RID p_font_rid, int p_size, float p_ascent) override;
- virtual float font_get_ascent(RID p_font_rid, int p_size) const override;
- GDVIRTUAL3(_font_set_ascent, RID, int, float);
- GDVIRTUAL2RC(float, _font_get_ascent, RID, int);
-
- virtual void font_set_descent(RID p_font_rid, int p_size, float p_descent) override;
- virtual float font_get_descent(RID p_font_rid, int p_size) const override;
- GDVIRTUAL3(_font_set_descent, RID, int, float);
- GDVIRTUAL2RC(float, _font_get_descent, RID, int);
-
- virtual void font_set_underline_position(RID p_font_rid, int p_size, float p_underline_position) override;
- virtual float font_get_underline_position(RID p_font_rid, int p_size) const override;
- GDVIRTUAL3(_font_set_underline_position, RID, int, float);
- GDVIRTUAL2RC(float, _font_get_underline_position, RID, int);
-
- virtual void font_set_underline_thickness(RID p_font_rid, int p_size, float p_underline_thickness) override;
- virtual float font_get_underline_thickness(RID p_font_rid, int p_size) const override;
- GDVIRTUAL3(_font_set_underline_thickness, RID, int, float);
- GDVIRTUAL2RC(float, _font_get_underline_thickness, RID, int);
-
- virtual void font_set_scale(RID p_font_rid, int p_size, float p_scale) override;
- virtual float font_get_scale(RID p_font_rid, int p_size) const override;
- GDVIRTUAL3(_font_set_scale, RID, int, float);
- GDVIRTUAL2RC(float, _font_get_scale, RID, int);
-
- virtual void font_set_spacing(RID p_font_rid, int p_size, SpacingType p_spacing, int p_value) override;
- virtual int font_get_spacing(RID p_font_rid, int p_size, SpacingType p_spacing) const override;
- GDVIRTUAL4(_font_set_spacing, RID, int, SpacingType, int);
- GDVIRTUAL3RC(int, _font_get_spacing, RID, int, SpacingType);
-
- virtual int font_get_texture_count(RID p_font_rid, const Vector2i &p_size) const override;
- virtual void font_clear_textures(RID p_font_rid, const Vector2i &p_size) override;
- virtual void font_remove_texture(RID p_font_rid, const Vector2i &p_size, int p_texture_index) override;
- GDVIRTUAL2RC(int, _font_get_texture_count, RID, const Vector2i &);
- GDVIRTUAL2(_font_clear_textures, RID, const Vector2i &);
- GDVIRTUAL3(_font_remove_texture, RID, const Vector2i &, int);
-
- virtual void font_set_texture_image(RID p_font_rid, const Vector2i &p_size, int p_texture_index, const Ref<Image> &p_image) override;
- virtual Ref<Image> font_get_texture_image(RID p_font_rid, const Vector2i &p_size, int p_texture_index) const override;
- GDVIRTUAL4(_font_set_texture_image, RID, const Vector2i &, int, const Ref<Image> &);
- GDVIRTUAL3RC(Ref<Image>, _font_get_texture_image, RID, const Vector2i &, int);
-
- virtual void font_set_texture_offsets(RID p_font_rid, const Vector2i &p_size, int p_texture_index, const PackedInt32Array &p_offset) override;
- virtual PackedInt32Array font_get_texture_offsets(RID p_font_rid, const Vector2i &p_size, int p_texture_index) const override;
- GDVIRTUAL4(_font_set_texture_offsets, RID, const Vector2i &, int, const PackedInt32Array &);
- GDVIRTUAL3RC(PackedInt32Array, _font_get_texture_offsets, RID, const Vector2i &, int);
-
- virtual Array font_get_glyph_list(RID p_font_rid, const Vector2i &p_size) const override;
- virtual void font_clear_glyphs(RID p_font_rid, const Vector2i &p_size) override;
- virtual void font_remove_glyph(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph) override;
- GDVIRTUAL2RC(Array, _font_get_glyph_list, RID, const Vector2i &);
- GDVIRTUAL2(_font_clear_glyphs, RID, const Vector2i &);
- GDVIRTUAL3(_font_remove_glyph, RID, const Vector2i &, int32_t);
-
- virtual Vector2 font_get_glyph_advance(RID p_font_rid, int p_size, int32_t p_glyph) const override;
- virtual void font_set_glyph_advance(RID p_font_rid, int p_size, int32_t p_glyph, const Vector2 &p_advance) override;
- GDVIRTUAL3RC(Vector2, _font_get_glyph_advance, RID, int, int32_t);
- GDVIRTUAL4(_font_set_glyph_advance, RID, int, int32_t, const Vector2 &);
-
- virtual Vector2 font_get_glyph_offset(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph) const override;
- virtual void font_set_glyph_offset(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph, const Vector2 &p_offset) override;
- GDVIRTUAL3RC(Vector2, _font_get_glyph_offset, RID, const Vector2i &, int32_t);
- GDVIRTUAL4(_font_set_glyph_offset, RID, const Vector2i &, int32_t, const Vector2 &);
-
- virtual Vector2 font_get_glyph_size(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph) const override;
- virtual void font_set_glyph_size(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph, const Vector2 &p_gl_size) override;
- GDVIRTUAL3RC(Vector2, _font_get_glyph_size, RID, const Vector2i &, int32_t);
- GDVIRTUAL4(_font_set_glyph_size, RID, const Vector2i &, int32_t, const Vector2 &);
-
- virtual Rect2 font_get_glyph_uv_rect(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph) const override;
- virtual void font_set_glyph_uv_rect(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph, const Rect2 &p_uv_rect) override;
- GDVIRTUAL3RC(Rect2, _font_get_glyph_uv_rect, RID, const Vector2i &, int32_t);
- GDVIRTUAL4(_font_set_glyph_uv_rect, RID, const Vector2i &, int32_t, const Rect2 &);
-
- virtual int font_get_glyph_texture_idx(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph) const override;
- virtual void font_set_glyph_texture_idx(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph, int p_texture_idx) override;
- GDVIRTUAL3RC(int, _font_get_glyph_texture_idx, RID, const Vector2i &, int32_t);
- GDVIRTUAL4(_font_set_glyph_texture_idx, RID, const Vector2i &, int32_t, int);
-
- virtual Dictionary font_get_glyph_contours(RID p_font, int p_size, int32_t p_index) const override;
- GDVIRTUAL3RC(Dictionary, _font_get_glyph_contours, RID, int, int32_t);
-
- virtual Array font_get_kerning_list(RID p_font_rid, int p_size) const override;
- virtual void font_clear_kerning_map(RID p_font_rid, int p_size) override;
- virtual void font_remove_kerning(RID p_font_rid, int p_size, const Vector2i &p_glyph_pair) override;
- GDVIRTUAL2RC(Array, _font_get_kerning_list, RID, int);
- GDVIRTUAL2(_font_clear_kerning_map, RID, int);
- GDVIRTUAL3(_font_remove_kerning, RID, int, const Vector2i &);
-
- virtual void font_set_kerning(RID p_font_rid, int p_size, const Vector2i &p_glyph_pair, const Vector2 &p_kerning) override;
- virtual Vector2 font_get_kerning(RID p_font_rid, int p_size, const Vector2i &p_glyph_pair) const override;
- GDVIRTUAL4(_font_set_kerning, RID, int, const Vector2i &, const Vector2 &);
- GDVIRTUAL3RC(Vector2, _font_get_kerning, RID, int, const Vector2i &);
-
- virtual int32_t font_get_glyph_index(RID p_font_rid, int p_size, char32_t p_char, char32_t p_variation_selector = 0) const override;
- GDVIRTUAL4RC(int32_t, _font_get_glyph_index, RID, int, char32_t, char32_t);
-
- virtual bool font_has_char(RID p_font_rid, char32_t p_char) const override;
- virtual String font_get_supported_chars(RID p_font_rid) const override;
- GDVIRTUAL2RC(bool, _font_has_char, RID, char32_t);
- GDVIRTUAL1RC(String, _font_get_supported_chars, RID);
-
- virtual void font_render_range(RID p_font, const Vector2i &p_size, char32_t p_start, char32_t p_end) override;
- virtual void font_render_glyph(RID p_font_rid, const Vector2i &p_size, int32_t p_index) override;
- GDVIRTUAL4(_font_render_range, RID, const Vector2i &, char32_t, char32_t);
- GDVIRTUAL3(_font_render_glyph, RID, const Vector2i &, int32_t);
-
- virtual void font_draw_glyph(RID p_font, RID p_canvas, int p_size, const Vector2 &p_pos, int32_t p_index, const Color &p_color = Color(1, 1, 1)) const override;
- virtual void font_draw_glyph_outline(RID p_font, RID p_canvas, int p_size, int p_outline_size, const Vector2 &p_pos, int32_t p_index, const Color &p_color = Color(1, 1, 1)) const override;
- GDVIRTUAL6C(_font_draw_glyph, RID, RID, int, const Vector2 &, int32_t, const Color &);
- GDVIRTUAL7C(_font_draw_glyph_outline, RID, RID, int, int, const Vector2 &, int32_t, const Color &);
-
- virtual bool font_is_language_supported(RID p_font_rid, const String &p_language) const override;
- virtual void font_set_language_support_override(RID p_font_rid, const String &p_language, bool p_supported) override;
- virtual bool font_get_language_support_override(RID p_font_rid, const String &p_language) override;
- virtual void font_remove_language_support_override(RID p_font_rid, const String &p_language) override;
- virtual Vector<String> font_get_language_support_overrides(RID p_font_rid) override;
- GDVIRTUAL2RC(bool, _font_is_language_supported, RID, const String &);
- GDVIRTUAL3(_font_set_language_support_override, RID, const String &, bool);
- GDVIRTUAL2R(bool, _font_get_language_support_override, RID, const String &);
- GDVIRTUAL2(_font_remove_language_support_override, RID, const String &);
- GDVIRTUAL1R(Vector<String>, _font_get_language_support_overrides, RID);
-
- virtual bool font_is_script_supported(RID p_font_rid, const String &p_script) const override;
- virtual void font_set_script_support_override(RID p_font_rid, const String &p_script, bool p_supported) override;
- virtual bool font_get_script_support_override(RID p_font_rid, const String &p_script) override;
- virtual void font_remove_script_support_override(RID p_font_rid, const String &p_script) override;
- virtual Vector<String> font_get_script_support_overrides(RID p_font_rid) override;
- GDVIRTUAL2RC(bool, _font_is_script_supported, RID, const String &);
- GDVIRTUAL3(_font_set_script_support_override, RID, const String &, bool);
- GDVIRTUAL2R(bool, _font_get_script_support_override, RID, const String &);
- GDVIRTUAL2(_font_remove_script_support_override, RID, const String &);
- GDVIRTUAL1R(Vector<String>, _font_get_script_support_overrides, RID);
-
- virtual void font_set_opentype_feature_overrides(RID p_font_rid, const Dictionary &p_overrides) override;
- virtual Dictionary font_get_opentype_feature_overrides(RID p_font_rid) const override;
- GDVIRTUAL2(_font_set_opentype_feature_overrides, RID, const Dictionary &);
- GDVIRTUAL1RC(Dictionary, _font_get_opentype_feature_overrides, RID);
-
- virtual Dictionary font_supported_feature_list(RID p_font_rid) const override;
- virtual Dictionary font_supported_variation_list(RID p_font_rid) const override;
- GDVIRTUAL1RC(Dictionary, _font_supported_feature_list, RID);
- GDVIRTUAL1RC(Dictionary, _font_supported_variation_list, RID);
-
- virtual float font_get_global_oversampling() const override;
- virtual void font_set_global_oversampling(float p_oversampling) override;
- GDVIRTUAL0RC(float, _font_get_global_oversampling);
- GDVIRTUAL1(_font_set_global_oversampling, float);
-
- virtual Vector2 get_hex_code_box_size(int p_size, char32_t p_index) const override;
- virtual void draw_hex_code_box(RID p_canvas, int p_size, const Vector2 &p_pos, char32_t p_index, const Color &p_color) const override;
- GDVIRTUAL2RC(Vector2, _get_hex_code_box_size, int, char32_t);
- GDVIRTUAL5C(_draw_hex_code_box, RID, int, const Vector2 &, char32_t, const Color &);
+ GDVIRTUAL0R(RID, create_font);
+
+ virtual void font_set_data(const RID &p_font_rid, const PackedByteArray &p_data) override;
+ virtual void font_set_data_ptr(const RID &p_font_rid, const uint8_t *p_data_ptr, int64_t p_data_size) override;
+ GDVIRTUAL2(font_set_data, RID, const PackedByteArray &);
+ GDVIRTUAL3(font_set_data_ptr, RID, GDNativeConstPtr<const uint8_t>, int64_t);
+
+ virtual void font_set_style(const RID &p_font_rid, int64_t /*FontStyle*/ p_style) override;
+ virtual int64_t /*FontStyle*/ font_get_style(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_style, RID, int64_t);
+ GDVIRTUAL1RC(int64_t, font_get_style, RID);
+
+ virtual void font_set_name(const RID &p_font_rid, const String &p_name) override;
+ virtual String font_get_name(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_name, RID, const String &);
+ GDVIRTUAL1RC(String, font_get_name, RID);
+
+ virtual void font_set_style_name(const RID &p_font_rid, const String &p_name) override;
+ virtual String font_get_style_name(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_style_name, RID, const String &);
+ GDVIRTUAL1RC(String, font_get_style_name, RID);
+
+ virtual void font_set_antialiased(const RID &p_font_rid, bool p_antialiased) override;
+ virtual bool font_is_antialiased(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_antialiased, RID, bool);
+ GDVIRTUAL1RC(bool, font_is_antialiased, RID);
+
+ virtual void font_set_multichannel_signed_distance_field(const RID &p_font_rid, bool p_msdf) override;
+ virtual bool font_is_multichannel_signed_distance_field(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_multichannel_signed_distance_field, RID, bool);
+ GDVIRTUAL1RC(bool, font_is_multichannel_signed_distance_field, RID);
+
+ virtual void font_set_msdf_pixel_range(const RID &p_font_rid, int64_t p_msdf_pixel_range) override;
+ virtual int64_t font_get_msdf_pixel_range(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_msdf_pixel_range, RID, int64_t);
+ GDVIRTUAL1RC(int64_t, font_get_msdf_pixel_range, RID);
+
+ virtual void font_set_msdf_size(const RID &p_font_rid, int64_t p_msdf_size) override;
+ virtual int64_t font_get_msdf_size(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_msdf_size, RID, int64_t);
+ GDVIRTUAL1RC(int64_t, font_get_msdf_size, RID);
+
+ virtual void font_set_fixed_size(const RID &p_font_rid, int64_t p_fixed_size) override;
+ virtual int64_t font_get_fixed_size(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_fixed_size, RID, int64_t);
+ GDVIRTUAL1RC(int64_t, font_get_fixed_size, RID);
+
+ virtual void font_set_subpixel_positioning(const RID &p_font_rid, SubpixelPositioning p_subpixel) override;
+ virtual SubpixelPositioning font_get_subpixel_positioning(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_subpixel_positioning, RID, SubpixelPositioning);
+ GDVIRTUAL1RC(SubpixelPositioning, font_get_subpixel_positioning, RID);
+
+ virtual void font_set_embolden(const RID &p_font_rid, double p_strength) override;
+ virtual double font_get_embolden(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_embolden, RID, double);
+ GDVIRTUAL1RC(double, font_get_embolden, RID);
+
+ virtual void font_set_transform(const RID &p_font_rid, const Transform2D &p_transform) override;
+ virtual Transform2D font_get_transform(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_transform, RID, Transform2D);
+ GDVIRTUAL1RC(Transform2D, font_get_transform, RID);
+
+ virtual void font_set_force_autohinter(const RID &p_font_rid, bool p_force_autohinter) override;
+ virtual bool font_is_force_autohinter(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_force_autohinter, RID, bool);
+ GDVIRTUAL1RC(bool, font_is_force_autohinter, RID);
+
+ virtual void font_set_hinting(const RID &p_font_rid, Hinting p_hinting) override;
+ virtual Hinting font_get_hinting(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_hinting, RID, Hinting);
+ GDVIRTUAL1RC(Hinting, font_get_hinting, RID);
+
+ virtual void font_set_variation_coordinates(const RID &p_font_rid, const Dictionary &p_variation_coordinates) override;
+ virtual Dictionary font_get_variation_coordinates(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_variation_coordinates, RID, Dictionary);
+ GDVIRTUAL1RC(Dictionary, font_get_variation_coordinates, RID);
+
+ virtual void font_set_oversampling(const RID &p_font_rid, double p_oversampling) override;
+ virtual double font_get_oversampling(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_oversampling, RID, double);
+ GDVIRTUAL1RC(double, font_get_oversampling, RID);
+
+ virtual Array font_get_size_cache_list(const RID &p_font_rid) const override;
+ virtual void font_clear_size_cache(const RID &p_font_rid) override;
+ virtual void font_remove_size_cache(const RID &p_font_rid, const Vector2i &p_size) override;
+ GDVIRTUAL1RC(Array, font_get_size_cache_list, RID);
+ GDVIRTUAL1(font_clear_size_cache, RID);
+ GDVIRTUAL2(font_remove_size_cache, RID, const Vector2i &);
+
+ virtual void font_set_ascent(const RID &p_font_rid, int64_t p_size, double p_ascent) override;
+ virtual double font_get_ascent(const RID &p_font_rid, int64_t p_size) const override;
+ GDVIRTUAL3(font_set_ascent, RID, int64_t, double);
+ GDVIRTUAL2RC(double, font_get_ascent, RID, int64_t);
+
+ virtual void font_set_descent(const RID &p_font_rid, int64_t p_size, double p_descent) override;
+ virtual double font_get_descent(const RID &p_font_rid, int64_t p_size) const override;
+ GDVIRTUAL3(font_set_descent, RID, int64_t, double);
+ GDVIRTUAL2RC(double, font_get_descent, RID, int64_t);
+
+ virtual void font_set_underline_position(const RID &p_font_rid, int64_t p_size, double p_underline_position) override;
+ virtual double font_get_underline_position(const RID &p_font_rid, int64_t p_size) const override;
+ GDVIRTUAL3(font_set_underline_position, RID, int64_t, double);
+ GDVIRTUAL2RC(double, font_get_underline_position, RID, int64_t);
+
+ virtual void font_set_underline_thickness(const RID &p_font_rid, int64_t p_size, double p_underline_thickness) override;
+ virtual double font_get_underline_thickness(const RID &p_font_rid, int64_t p_size) const override;
+ GDVIRTUAL3(font_set_underline_thickness, RID, int64_t, double);
+ GDVIRTUAL2RC(double, font_get_underline_thickness, RID, int64_t);
+
+ virtual void font_set_scale(const RID &p_font_rid, int64_t p_size, double p_scale) override;
+ virtual double font_get_scale(const RID &p_font_rid, int64_t p_size) const override;
+ GDVIRTUAL3(font_set_scale, RID, int64_t, double);
+ GDVIRTUAL2RC(double, font_get_scale, RID, int64_t);
+
+ virtual void font_set_spacing(const RID &p_font_rid, int64_t p_size, SpacingType p_spacing, int64_t p_value) override;
+ virtual int64_t font_get_spacing(const RID &p_font_rid, int64_t p_size, SpacingType p_spacing) const override;
+ GDVIRTUAL4(font_set_spacing, RID, int64_t, SpacingType, int64_t);
+ GDVIRTUAL3RC(int64_t, font_get_spacing, RID, int64_t, SpacingType);
+
+ virtual int64_t font_get_texture_count(const RID &p_font_rid, const Vector2i &p_size) const override;
+ virtual void font_clear_textures(const RID &p_font_rid, const Vector2i &p_size) override;
+ virtual void font_remove_texture(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index) override;
+ GDVIRTUAL2RC(int64_t, font_get_texture_count, RID, const Vector2i &);
+ GDVIRTUAL2(font_clear_textures, RID, const Vector2i &);
+ GDVIRTUAL3(font_remove_texture, RID, const Vector2i &, int64_t);
+
+ virtual void font_set_texture_image(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index, const Ref<Image> &p_image) override;
+ virtual Ref<Image> font_get_texture_image(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index) const override;
+ GDVIRTUAL4(font_set_texture_image, RID, const Vector2i &, int64_t, const Ref<Image> &);
+ GDVIRTUAL3RC(Ref<Image>, font_get_texture_image, RID, const Vector2i &, int64_t);
+
+ virtual void font_set_texture_offsets(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index, const PackedInt32Array &p_offset) override;
+ virtual PackedInt32Array font_get_texture_offsets(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index) const override;
+ GDVIRTUAL4(font_set_texture_offsets, RID, const Vector2i &, int64_t, const PackedInt32Array &);
+ GDVIRTUAL3RC(PackedInt32Array, font_get_texture_offsets, RID, const Vector2i &, int64_t);
+
+ virtual Array font_get_glyph_list(const RID &p_font_rid, const Vector2i &p_size) const override;
+ virtual void font_clear_glyphs(const RID &p_font_rid, const Vector2i &p_size) override;
+ virtual void font_remove_glyph(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) override;
+ GDVIRTUAL2RC(Array, font_get_glyph_list, RID, const Vector2i &);
+ GDVIRTUAL2(font_clear_glyphs, RID, const Vector2i &);
+ GDVIRTUAL3(font_remove_glyph, RID, const Vector2i &, int64_t);
+
+ virtual Vector2 font_get_glyph_advance(const RID &p_font_rid, int64_t p_size, int64_t p_glyph) const override;
+ virtual void font_set_glyph_advance(const RID &p_font_rid, int64_t p_size, int64_t p_glyph, const Vector2 &p_advance) override;
+ GDVIRTUAL3RC(Vector2, font_get_glyph_advance, RID, int64_t, int64_t);
+ GDVIRTUAL4(font_set_glyph_advance, RID, int64_t, int64_t, const Vector2 &);
+
+ virtual Vector2 font_get_glyph_offset(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const override;
+ virtual void font_set_glyph_offset(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, const Vector2 &p_offset) override;
+ GDVIRTUAL3RC(Vector2, font_get_glyph_offset, RID, const Vector2i &, int64_t);
+ GDVIRTUAL4(font_set_glyph_offset, RID, const Vector2i &, int64_t, const Vector2 &);
+
+ virtual Vector2 font_get_glyph_size(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const override;
+ virtual void font_set_glyph_size(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, const Vector2 &p_gl_size) override;
+ GDVIRTUAL3RC(Vector2, font_get_glyph_size, RID, const Vector2i &, int64_t);
+ GDVIRTUAL4(font_set_glyph_size, RID, const Vector2i &, int64_t, const Vector2 &);
+
+ virtual Rect2 font_get_glyph_uv_rect(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const override;
+ virtual void font_set_glyph_uv_rect(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, const Rect2 &p_uv_rect) override;
+ GDVIRTUAL3RC(Rect2, font_get_glyph_uv_rect, RID, const Vector2i &, int64_t);
+ GDVIRTUAL4(font_set_glyph_uv_rect, RID, const Vector2i &, int64_t, const Rect2 &);
+
+ virtual int64_t font_get_glyph_texture_idx(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const override;
+ virtual void font_set_glyph_texture_idx(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, int64_t p_texture_idx) override;
+ GDVIRTUAL3RC(int64_t, font_get_glyph_texture_idx, RID, const Vector2i &, int64_t);
+ GDVIRTUAL4(font_set_glyph_texture_idx, RID, const Vector2i &, int64_t, int64_t);
+
+ virtual Dictionary font_get_glyph_contours(const RID &p_font, int64_t p_size, int64_t p_index) const override;
+ GDVIRTUAL3RC(Dictionary, font_get_glyph_contours, RID, int64_t, int64_t);
+
+ virtual Array font_get_kerning_list(const RID &p_font_rid, int64_t p_size) const override;
+ virtual void font_clear_kerning_map(const RID &p_font_rid, int64_t p_size) override;
+ virtual void font_remove_kerning(const RID &p_font_rid, int64_t p_size, const Vector2i &p_glyph_pair) override;
+ GDVIRTUAL2RC(Array, font_get_kerning_list, RID, int64_t);
+ GDVIRTUAL2(font_clear_kerning_map, RID, int64_t);
+ GDVIRTUAL3(font_remove_kerning, RID, int64_t, const Vector2i &);
+
+ virtual void font_set_kerning(const RID &p_font_rid, int64_t p_size, const Vector2i &p_glyph_pair, const Vector2 &p_kerning) override;
+ virtual Vector2 font_get_kerning(const RID &p_font_rid, int64_t p_size, const Vector2i &p_glyph_pair) const override;
+ GDVIRTUAL4(font_set_kerning, RID, int64_t, const Vector2i &, const Vector2 &);
+ GDVIRTUAL3RC(Vector2, font_get_kerning, RID, int64_t, const Vector2i &);
+
+ virtual int64_t font_get_glyph_index(const RID &p_font_rid, int64_t p_size, int64_t p_char, int64_t p_variation_selector = 0) const override;
+ GDVIRTUAL4RC(int64_t, font_get_glyph_index, RID, int64_t, int64_t, int64_t);
+
+ virtual bool font_has_char(const RID &p_font_rid, int64_t p_char) const override;
+ virtual String font_get_supported_chars(const RID &p_font_rid) const override;
+ GDVIRTUAL2RC(bool, font_has_char, RID, int64_t);
+ GDVIRTUAL1RC(String, font_get_supported_chars, RID);
+
+ virtual void font_render_range(const RID &p_font, const Vector2i &p_size, int64_t p_start, int64_t p_end) override;
+ virtual void font_render_glyph(const RID &p_font_rid, const Vector2i &p_size, int64_t p_index) override;
+ GDVIRTUAL4(font_render_range, RID, const Vector2i &, int64_t, int64_t);
+ GDVIRTUAL3(font_render_glyph, RID, const Vector2i &, int64_t);
+
+ virtual void font_draw_glyph(const RID &p_font, const RID &p_canvas, int64_t p_size, const Vector2 &p_pos, int64_t p_index, const Color &p_color = Color(1, 1, 1)) const override;
+ virtual void font_draw_glyph_outline(const RID &p_font, const RID &p_canvas, int64_t p_size, int64_t p_outline_size, const Vector2 &p_pos, int64_t p_index, const Color &p_color = Color(1, 1, 1)) const override;
+ GDVIRTUAL6C(font_draw_glyph, RID, RID, int64_t, const Vector2 &, int64_t, const Color &);
+ GDVIRTUAL7C(font_draw_glyph_outline, RID, RID, int64_t, int64_t, const Vector2 &, int64_t, const Color &);
+
+ virtual bool font_is_language_supported(const RID &p_font_rid, const String &p_language) const override;
+ virtual void font_set_language_support_override(const RID &p_font_rid, const String &p_language, bool p_supported) override;
+ virtual bool font_get_language_support_override(const RID &p_font_rid, const String &p_language) override;
+ virtual void font_remove_language_support_override(const RID &p_font_rid, const String &p_language) override;
+ virtual PackedStringArray font_get_language_support_overrides(const RID &p_font_rid) override;
+ GDVIRTUAL2RC(bool, font_is_language_supported, RID, const String &);
+ GDVIRTUAL3(font_set_language_support_override, RID, const String &, bool);
+ GDVIRTUAL2R(bool, font_get_language_support_override, RID, const String &);
+ GDVIRTUAL2(font_remove_language_support_override, RID, const String &);
+ GDVIRTUAL1R(PackedStringArray, font_get_language_support_overrides, RID);
+
+ virtual bool font_is_script_supported(const RID &p_font_rid, const String &p_script) const override;
+ virtual void font_set_script_support_override(const RID &p_font_rid, const String &p_script, bool p_supported) override;
+ virtual bool font_get_script_support_override(const RID &p_font_rid, const String &p_script) override;
+ virtual void font_remove_script_support_override(const RID &p_font_rid, const String &p_script) override;
+ virtual PackedStringArray font_get_script_support_overrides(const RID &p_font_rid) override;
+ GDVIRTUAL2RC(bool, font_is_script_supported, RID, const String &);
+ GDVIRTUAL3(font_set_script_support_override, RID, const String &, bool);
+ GDVIRTUAL2R(bool, font_get_script_support_override, RID, const String &);
+ GDVIRTUAL2(font_remove_script_support_override, RID, const String &);
+ GDVIRTUAL1R(PackedStringArray, font_get_script_support_overrides, RID);
+
+ virtual void font_set_opentype_feature_overrides(const RID &p_font_rid, const Dictionary &p_overrides) override;
+ virtual Dictionary font_get_opentype_feature_overrides(const RID &p_font_rid) const override;
+ GDVIRTUAL2(font_set_opentype_feature_overrides, RID, const Dictionary &);
+ GDVIRTUAL1RC(Dictionary, font_get_opentype_feature_overrides, RID);
+
+ virtual Dictionary font_supported_feature_list(const RID &p_font_rid) const override;
+ virtual Dictionary font_supported_variation_list(const RID &p_font_rid) const override;
+ GDVIRTUAL1RC(Dictionary, font_supported_feature_list, RID);
+ GDVIRTUAL1RC(Dictionary, font_supported_variation_list, RID);
+
+ virtual double font_get_global_oversampling() const override;
+ virtual void font_set_global_oversampling(double p_oversampling) override;
+ GDVIRTUAL0RC(double, font_get_global_oversampling);
+ GDVIRTUAL1(font_set_global_oversampling, double);
+
+ virtual Vector2 get_hex_code_box_size(int64_t p_size, int64_t p_index) const override;
+ virtual void draw_hex_code_box(const RID &p_canvas, int64_t p_size, const Vector2 &p_pos, int64_t p_index, const Color &p_color) const override;
+ GDVIRTUAL2RC(Vector2, get_hex_code_box_size, int64_t, int64_t);
+ GDVIRTUAL5C(draw_hex_code_box, RID, int64_t, const Vector2 &, int64_t, const Color &);
/* Shaped text buffer interface */
virtual RID create_shaped_text(Direction p_direction = DIRECTION_AUTO, Orientation p_orientation = ORIENTATION_HORIZONTAL) override;
- GDVIRTUAL2R(RID, _create_shaped_text, Direction, Orientation);
-
- virtual void shaped_text_clear(RID p_shaped) override;
- GDVIRTUAL1(_shaped_text_clear, RID);
-
- virtual void shaped_text_set_direction(RID p_shaped, Direction p_direction = DIRECTION_AUTO) override;
- virtual Direction shaped_text_get_direction(RID p_shaped) const override;
- virtual Direction shaped_text_get_inferred_direction(RID p_shaped) const override;
- GDVIRTUAL2(_shaped_text_set_direction, RID, Direction);
- GDVIRTUAL1RC(Direction, _shaped_text_get_direction, RID);
- GDVIRTUAL1RC(Direction, _shaped_text_get_inferred_direction, RID);
-
- virtual void shaped_text_set_bidi_override(RID p_shaped, const Array &p_override) override;
- GDVIRTUAL2(_shaped_text_set_bidi_override, RID, const Array &);
-
- virtual void shaped_text_set_custom_punctuation(RID p_shaped, const String &p_punct) override;
- virtual String shaped_text_get_custom_punctuation(RID p_shaped) const override;
- GDVIRTUAL2(_shaped_text_set_custom_punctuation, RID, String);
- GDVIRTUAL1RC(String, _shaped_text_get_custom_punctuation, RID);
-
- virtual void shaped_text_set_orientation(RID p_shaped, Orientation p_orientation = ORIENTATION_HORIZONTAL) override;
- virtual Orientation shaped_text_get_orientation(RID p_shaped) const override;
- GDVIRTUAL2(_shaped_text_set_orientation, RID, Orientation);
- GDVIRTUAL1RC(Orientation, _shaped_text_get_orientation, RID);
-
- virtual void shaped_text_set_preserve_invalid(RID p_shaped, bool p_enabled) override;
- virtual bool shaped_text_get_preserve_invalid(RID p_shaped) const override;
- GDVIRTUAL2(_shaped_text_set_preserve_invalid, RID, bool);
- GDVIRTUAL1RC(bool, _shaped_text_get_preserve_invalid, RID);
-
- virtual void shaped_text_set_preserve_control(RID p_shaped, bool p_enabled) override;
- virtual bool shaped_text_get_preserve_control(RID p_shaped) const override;
- GDVIRTUAL2(_shaped_text_set_preserve_control, RID, bool);
- GDVIRTUAL1RC(bool, _shaped_text_get_preserve_control, RID);
-
- virtual bool shaped_text_add_string(RID p_shaped, const String &p_text, const Vector<RID> &p_fonts, int p_size, const Dictionary &p_opentype_features = Dictionary(), const String &p_language = "", const Variant &p_meta = Variant()) override;
- virtual bool shaped_text_add_object(RID p_shaped, Variant p_key, const Size2 &p_size, InlineAlignment p_inline_align = INLINE_ALIGNMENT_CENTER, int p_length = 1) override;
- virtual bool shaped_text_resize_object(RID p_shaped, Variant p_key, const Size2 &p_size, InlineAlignment p_inline_align = INLINE_ALIGNMENT_CENTER) override;
- GDVIRTUAL7R(bool, _shaped_text_add_string, RID, const String &, const Array &, int, const Dictionary &, const String &, const Variant &);
- GDVIRTUAL5R(bool, _shaped_text_add_object, RID, Variant, const Size2 &, InlineAlignment, int);
- GDVIRTUAL4R(bool, _shaped_text_resize_object, RID, Variant, const Size2 &, InlineAlignment);
-
- virtual int shaped_get_span_count(RID p_shaped) const override;
- virtual Variant shaped_get_span_meta(RID p_shaped, int p_index) const override;
- virtual void shaped_set_span_update_font(RID p_shaped, int p_index, const Vector<RID> &p_fonts, int p_size, const Dictionary &p_opentype_features = Dictionary()) override;
- GDVIRTUAL1RC(int, _shaped_get_span_count, RID);
- GDVIRTUAL2RC(Variant, _shaped_get_span_meta, RID, int);
- GDVIRTUAL5(_shaped_set_span_update_font, RID, int, const Array &, int, const Dictionary &);
-
- virtual RID shaped_text_substr(RID p_shaped, int p_start, int p_length) const override;
- virtual RID shaped_text_get_parent(RID p_shaped) const override;
- GDVIRTUAL3RC(RID, _shaped_text_substr, RID, int, int);
- GDVIRTUAL1RC(RID, _shaped_text_get_parent, RID);
-
- virtual float shaped_text_fit_to_width(RID p_shaped, float p_width, uint16_t /*JustificationFlag*/ p_jst_flags = JUSTIFICATION_WORD_BOUND | JUSTIFICATION_KASHIDA) override;
- virtual float shaped_text_tab_align(RID p_shaped, const PackedFloat32Array &p_tab_stops) override;
- GDVIRTUAL3R(float, _shaped_text_fit_to_width, RID, float, uint16_t);
- GDVIRTUAL2R(float, _shaped_text_tab_align, RID, const PackedFloat32Array &);
-
- virtual bool shaped_text_shape(RID p_shaped) override;
- virtual bool shaped_text_update_breaks(RID p_shaped) override;
- virtual bool shaped_text_update_justification_ops(RID p_shaped) override;
- GDVIRTUAL1R(bool, _shaped_text_shape, RID);
- GDVIRTUAL1R(bool, _shaped_text_update_breaks, RID);
- GDVIRTUAL1R(bool, _shaped_text_update_justification_ops, RID);
-
- virtual bool shaped_text_is_ready(RID p_shaped) const override;
- GDVIRTUAL1RC(bool, _shaped_text_is_ready, RID);
-
- virtual const Glyph *shaped_text_get_glyphs(RID p_shaped) const override;
- virtual const Glyph *shaped_text_sort_logical(RID p_shaped) override;
- virtual int shaped_text_get_glyph_count(RID p_shaped) const override;
- GDVIRTUAL1RC(GDNativePtr<Glyph>, _shaped_text_get_glyphs, RID);
- GDVIRTUAL1R(GDNativePtr<Glyph>, _shaped_text_sort_logical, RID);
- GDVIRTUAL1RC(int, _shaped_text_get_glyph_count, RID);
-
- virtual Vector2i shaped_text_get_range(RID p_shaped) const override;
- GDVIRTUAL1RC(Vector2i, _shaped_text_get_range, RID);
-
- virtual PackedInt32Array shaped_text_get_line_breaks_adv(RID p_shaped, const PackedFloat32Array &p_width, int p_start = 0, bool p_once = true, uint16_t /*TextBreakFlag*/ p_break_flags = BREAK_MANDATORY | BREAK_WORD_BOUND) const override;
- virtual PackedInt32Array shaped_text_get_line_breaks(RID p_shaped, float p_width, int p_start = 0, uint16_t p_break_flags = BREAK_MANDATORY | BREAK_WORD_BOUND) const override;
- virtual PackedInt32Array shaped_text_get_word_breaks(RID p_shaped, int p_grapheme_flags = GRAPHEME_IS_SPACE | GRAPHEME_IS_PUNCTUATION) const override;
- GDVIRTUAL5RC(PackedInt32Array, _shaped_text_get_line_breaks_adv, RID, const PackedFloat32Array &, int, bool, uint16_t);
- GDVIRTUAL4RC(PackedInt32Array, _shaped_text_get_line_breaks, RID, float, int, uint16_t);
- GDVIRTUAL2RC(PackedInt32Array, _shaped_text_get_word_breaks, RID, int);
-
- virtual int shaped_text_get_trim_pos(RID p_shaped) const override;
- virtual int shaped_text_get_ellipsis_pos(RID p_shaped) const override;
- virtual const Glyph *shaped_text_get_ellipsis_glyphs(RID p_shaped) const override;
- virtual int shaped_text_get_ellipsis_glyph_count(RID p_shaped) const override;
- GDVIRTUAL1RC(int, _shaped_text_get_trim_pos, RID);
- GDVIRTUAL1RC(int, _shaped_text_get_ellipsis_pos, RID);
- GDVIRTUAL1RC(GDNativePtr<Glyph>, _shaped_text_get_ellipsis_glyphs, RID);
- GDVIRTUAL1RC(int, _shaped_text_get_ellipsis_glyph_count, RID);
-
- virtual void shaped_text_overrun_trim_to_width(RID p_shaped, float p_width, uint16_t p_trim_flags) override;
- GDVIRTUAL3(_shaped_text_overrun_trim_to_width, RID, float, uint16_t);
-
- virtual Array shaped_text_get_objects(RID p_shaped) const override;
- virtual Rect2 shaped_text_get_object_rect(RID p_shaped, Variant p_key) const override;
- GDVIRTUAL1RC(Array, _shaped_text_get_objects, RID);
- GDVIRTUAL2RC(Rect2, _shaped_text_get_object_rect, RID, Variant);
-
- virtual Size2 shaped_text_get_size(RID p_shaped) const override;
- virtual float shaped_text_get_ascent(RID p_shaped) const override;
- virtual float shaped_text_get_descent(RID p_shaped) const override;
- virtual float shaped_text_get_width(RID p_shaped) const override;
- virtual float shaped_text_get_underline_position(RID p_shaped) const override;
- virtual float shaped_text_get_underline_thickness(RID p_shaped) const override;
- GDVIRTUAL1RC(Size2, _shaped_text_get_size, RID);
- GDVIRTUAL1RC(float, _shaped_text_get_ascent, RID);
- GDVIRTUAL1RC(float, _shaped_text_get_descent, RID);
- GDVIRTUAL1RC(float, _shaped_text_get_width, RID);
- GDVIRTUAL1RC(float, _shaped_text_get_underline_position, RID);
- GDVIRTUAL1RC(float, _shaped_text_get_underline_thickness, RID);
-
- virtual Direction shaped_text_get_dominant_direction_in_range(RID p_shaped, int p_start, int p_end) const override;
- GDVIRTUAL3RC(int, _shaped_text_get_dominant_direction_in_range, RID, int, int);
-
- virtual CaretInfo shaped_text_get_carets(RID p_shaped, int p_position) const override;
- virtual Vector<Vector2> shaped_text_get_selection(RID p_shaped, int p_start, int p_end) const override;
- GDVIRTUAL3C(_shaped_text_get_carets, RID, int, GDNativePtr<CaretInfo>);
- GDVIRTUAL3RC(Vector<Vector2>, _shaped_text_get_selection, RID, int, int);
-
- virtual int shaped_text_hit_test_grapheme(RID p_shaped, float p_coords) const override;
- virtual int shaped_text_hit_test_position(RID p_shaped, float p_coords) const override;
- GDVIRTUAL2RC(int, _shaped_text_hit_test_grapheme, RID, float);
- GDVIRTUAL2RC(int, _shaped_text_hit_test_position, RID, float);
-
- virtual void shaped_text_draw(RID p_shaped, RID p_canvas, const Vector2 &p_pos, float p_clip_l = -1.f, float p_clip_r = -1.f, const Color &p_color = Color(1, 1, 1)) const override;
- virtual void shaped_text_draw_outline(RID p_shaped, RID p_canvas, const Vector2 &p_pos, float p_clip_l = -1.f, float p_clip_r = -1.f, int p_outline_size = 1, const Color &p_color = Color(1, 1, 1)) const override;
- GDVIRTUAL6C(_shaped_text_draw, RID, RID, const Vector2 &, float, float, const Color &);
- GDVIRTUAL7C(_shaped_text_draw_outline, RID, RID, const Vector2 &, float, float, int, const Color &);
-
- virtual Vector2 shaped_text_get_grapheme_bounds(RID p_shaped, int p_pos) const override;
- virtual int shaped_text_next_grapheme_pos(RID p_shaped, int p_pos) const override;
- virtual int shaped_text_prev_grapheme_pos(RID p_shaped, int p_pos) const override;
- GDVIRTUAL2RC(Vector2, _shaped_text_get_grapheme_bounds, RID, int);
- GDVIRTUAL2RC(int, _shaped_text_next_grapheme_pos, RID, int);
- GDVIRTUAL2RC(int, _shaped_text_prev_grapheme_pos, RID, int);
+ GDVIRTUAL2R(RID, create_shaped_text, Direction, Orientation);
+
+ virtual void shaped_text_clear(const RID &p_shaped) override;
+ GDVIRTUAL1(shaped_text_clear, RID);
+
+ virtual void shaped_text_set_direction(const RID &p_shaped, Direction p_direction = DIRECTION_AUTO) override;
+ virtual Direction shaped_text_get_direction(const RID &p_shaped) const override;
+ virtual Direction shaped_text_get_inferred_direction(const RID &p_shaped) const override;
+ GDVIRTUAL2(shaped_text_set_direction, RID, Direction);
+ GDVIRTUAL1RC(Direction, shaped_text_get_direction, RID);
+ GDVIRTUAL1RC(Direction, shaped_text_get_inferred_direction, RID);
+
+ virtual void shaped_text_set_bidi_override(const RID &p_shaped, const Array &p_override) override;
+ GDVIRTUAL2(shaped_text_set_bidi_override, RID, const Array &);
+
+ virtual void shaped_text_set_custom_punctuation(const RID &p_shaped, const String &p_punct) override;
+ virtual String shaped_text_get_custom_punctuation(const RID &p_shaped) const override;
+ GDVIRTUAL2(shaped_text_set_custom_punctuation, RID, String);
+ GDVIRTUAL1RC(String, shaped_text_get_custom_punctuation, RID);
+
+ virtual void shaped_text_set_orientation(const RID &p_shaped, Orientation p_orientation = ORIENTATION_HORIZONTAL) override;
+ virtual Orientation shaped_text_get_orientation(const RID &p_shaped) const override;
+ GDVIRTUAL2(shaped_text_set_orientation, RID, Orientation);
+ GDVIRTUAL1RC(Orientation, shaped_text_get_orientation, RID);
+
+ virtual void shaped_text_set_preserve_invalid(const RID &p_shaped, bool p_enabled) override;
+ virtual bool shaped_text_get_preserve_invalid(const RID &p_shaped) const override;
+ GDVIRTUAL2(shaped_text_set_preserve_invalid, RID, bool);
+ GDVIRTUAL1RC(bool, shaped_text_get_preserve_invalid, RID);
+
+ virtual void shaped_text_set_preserve_control(const RID &p_shaped, bool p_enabled) override;
+ virtual bool shaped_text_get_preserve_control(const RID &p_shaped) const override;
+ GDVIRTUAL2(shaped_text_set_preserve_control, RID, bool);
+ GDVIRTUAL1RC(bool, shaped_text_get_preserve_control, RID);
+
+ virtual bool shaped_text_add_string(const RID &p_shaped, const String &p_text, const Array &p_fonts, int64_t p_size, const Dictionary &p_opentype_features = Dictionary(), const String &p_language = "", const Variant &p_meta = Variant()) override;
+ virtual bool shaped_text_add_object(const RID &p_shaped, const Variant &p_key, const Size2 &p_size, InlineAlignment p_inline_align = INLINE_ALIGNMENT_CENTER, int64_t p_length = 1) override;
+ virtual bool shaped_text_resize_object(const RID &p_shaped, const Variant &p_key, const Size2 &p_size, InlineAlignment p_inline_align = INLINE_ALIGNMENT_CENTER) override;
+ GDVIRTUAL7R(bool, shaped_text_add_string, RID, const String &, const Array &, int64_t, const Dictionary &, const String &, const Variant &);
+ GDVIRTUAL5R(bool, shaped_text_add_object, RID, const Variant &, const Size2 &, InlineAlignment, int64_t);
+ GDVIRTUAL4R(bool, shaped_text_resize_object, RID, const Variant &, const Size2 &, InlineAlignment);
+
+ virtual int64_t shaped_get_span_count(const RID &p_shaped) const override;
+ virtual Variant shaped_get_span_meta(const RID &p_shaped, int64_t p_index) const override;
+ virtual void shaped_set_span_update_font(const RID &p_shaped, int64_t p_index, const Array &p_fonts, int64_t p_size, const Dictionary &p_opentype_features = Dictionary()) override;
+ GDVIRTUAL1RC(int64_t, shaped_get_span_count, RID);
+ GDVIRTUAL2RC(Variant, shaped_get_span_meta, RID, int64_t);
+ GDVIRTUAL5(shaped_set_span_update_font, RID, int64_t, const Array &, int64_t, const Dictionary &);
+
+ virtual RID shaped_text_substr(const RID &p_shaped, int64_t p_start, int64_t p_length) const override;
+ virtual RID shaped_text_get_parent(const RID &p_shaped) const override;
+ GDVIRTUAL3RC(RID, shaped_text_substr, RID, int64_t, int64_t);
+ GDVIRTUAL1RC(RID, shaped_text_get_parent, RID);
+
+ virtual double shaped_text_fit_to_width(const RID &p_shaped, double p_width, int64_t /*JustificationFlag*/ p_jst_flags = JUSTIFICATION_WORD_BOUND | JUSTIFICATION_KASHIDA) override;
+ virtual double shaped_text_tab_align(const RID &p_shaped, const PackedFloat32Array &p_tab_stops) override;
+ GDVIRTUAL3R(double, shaped_text_fit_to_width, RID, double, int64_t);
+ GDVIRTUAL2R(double, shaped_text_tab_align, RID, const PackedFloat32Array &);
+
+ virtual bool shaped_text_shape(const RID &p_shaped) override;
+ virtual bool shaped_text_update_breaks(const RID &p_shaped) override;
+ virtual bool shaped_text_update_justification_ops(const RID &p_shaped) override;
+ GDVIRTUAL1R(bool, shaped_text_shape, RID);
+ GDVIRTUAL1R(bool, shaped_text_update_breaks, RID);
+ GDVIRTUAL1R(bool, shaped_text_update_justification_ops, RID);
+
+ virtual bool shaped_text_is_ready(const RID &p_shaped) const override;
+ GDVIRTUAL1RC(bool, shaped_text_is_ready, RID);
+
+ virtual const Glyph *shaped_text_get_glyphs(const RID &p_shaped) const override;
+ virtual const Glyph *shaped_text_sort_logical(const RID &p_shaped) override;
+ virtual int64_t shaped_text_get_glyph_count(const RID &p_shaped) const override;
+ GDVIRTUAL1RC(GDNativeConstPtr<const Glyph>, shaped_text_get_glyphs, RID);
+ GDVIRTUAL1R(GDNativeConstPtr<const Glyph>, shaped_text_sort_logical, RID);
+ GDVIRTUAL1RC(int64_t, shaped_text_get_glyph_count, RID);
+
+ virtual Vector2i shaped_text_get_range(const RID &p_shaped) const override;
+ GDVIRTUAL1RC(Vector2i, shaped_text_get_range, RID);
+
+ virtual PackedInt32Array shaped_text_get_line_breaks_adv(const RID &p_shaped, const PackedFloat32Array &p_width, int64_t p_start = 0, bool p_once = true, int64_t /*TextBreakFlag*/ p_break_flags = BREAK_MANDATORY | BREAK_WORD_BOUND) const override;
+ virtual PackedInt32Array shaped_text_get_line_breaks(const RID &p_shaped, double p_width, int64_t p_start = 0, int64_t p_break_flags = BREAK_MANDATORY | BREAK_WORD_BOUND) const override;
+ virtual PackedInt32Array shaped_text_get_word_breaks(const RID &p_shaped, int64_t p_grapheme_flags = GRAPHEME_IS_SPACE | GRAPHEME_IS_PUNCTUATION) const override;
+ GDVIRTUAL5RC(PackedInt32Array, shaped_text_get_line_breaks_adv, RID, const PackedFloat32Array &, int64_t, bool, int64_t);
+ GDVIRTUAL4RC(PackedInt32Array, shaped_text_get_line_breaks, RID, double, int64_t, int64_t);
+ GDVIRTUAL2RC(PackedInt32Array, shaped_text_get_word_breaks, RID, int64_t);
+
+ virtual int64_t shaped_text_get_trim_pos(const RID &p_shaped) const override;
+ virtual int64_t shaped_text_get_ellipsis_pos(const RID &p_shaped) const override;
+ virtual const Glyph *shaped_text_get_ellipsis_glyphs(const RID &p_shaped) const override;
+ virtual int64_t shaped_text_get_ellipsis_glyph_count(const RID &p_shaped) const override;
+ GDVIRTUAL1RC(int64_t, shaped_text_get_trim_pos, RID);
+ GDVIRTUAL1RC(int64_t, shaped_text_get_ellipsis_pos, RID);
+ GDVIRTUAL1RC(GDNativeConstPtr<const Glyph>, shaped_text_get_ellipsis_glyphs, RID);
+ GDVIRTUAL1RC(int64_t, shaped_text_get_ellipsis_glyph_count, RID);
+
+ virtual void shaped_text_overrun_trim_to_width(const RID &p_shaped, double p_width, int64_t p_trim_flags) override;
+ GDVIRTUAL3(shaped_text_overrun_trim_to_width, RID, double, int64_t);
+
+ 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;
+ GDVIRTUAL1RC(Array, shaped_text_get_objects, RID);
+ GDVIRTUAL2RC(Rect2, shaped_text_get_object_rect, 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;
+ virtual double shaped_text_get_descent(const RID &p_shaped) const override;
+ virtual double shaped_text_get_width(const RID &p_shaped) const override;
+ virtual double shaped_text_get_underline_position(const RID &p_shaped) const override;
+ virtual double shaped_text_get_underline_thickness(const RID &p_shaped) const override;
+ GDVIRTUAL1RC(Size2, shaped_text_get_size, RID);
+ GDVIRTUAL1RC(double, shaped_text_get_ascent, RID);
+ GDVIRTUAL1RC(double, shaped_text_get_descent, RID);
+ GDVIRTUAL1RC(double, shaped_text_get_width, RID);
+ GDVIRTUAL1RC(double, shaped_text_get_underline_position, RID);
+ GDVIRTUAL1RC(double, shaped_text_get_underline_thickness, RID);
+
+ virtual Direction shaped_text_get_dominant_direction_in_range(const RID &p_shaped, int64_t p_start, int64_t p_end) const override;
+ GDVIRTUAL3RC(int64_t, shaped_text_get_dominant_direction_in_range, RID, int64_t, int64_t);
+
+ virtual CaretInfo shaped_text_get_carets(const RID &p_shaped, int64_t p_position) const override;
+ virtual Vector<Vector2> shaped_text_get_selection(const RID &p_shaped, int64_t p_start, int64_t p_end) const override;
+ GDVIRTUAL3C(shaped_text_get_carets, RID, int64_t, GDNativePtr<CaretInfo>);
+ GDVIRTUAL3RC(Vector<Vector2>, shaped_text_get_selection, RID, int64_t, int64_t);
+
+ virtual int64_t shaped_text_hit_test_grapheme(const RID &p_shaped, double p_coords) const override;
+ virtual int64_t shaped_text_hit_test_position(const RID &p_shaped, double p_coords) const override;
+ GDVIRTUAL2RC(int64_t, shaped_text_hit_test_grapheme, RID, double);
+ GDVIRTUAL2RC(int64_t, shaped_text_hit_test_position, RID, double);
+
+ virtual void shaped_text_draw(const RID &p_shaped, const RID &p_canvas, const Vector2 &p_pos, double p_clip_l = -1.0, double p_clip_r = -1.0, const Color &p_color = Color(1, 1, 1)) const override;
+ virtual void shaped_text_draw_outline(const RID &p_shaped, const RID &p_canvas, const Vector2 &p_pos, double p_clip_l = -1.0, double p_clip_r = -1.0, int64_t p_outline_size = 1, const Color &p_color = Color(1, 1, 1)) const override;
+ GDVIRTUAL6C(shaped_text_draw, RID, RID, const Vector2 &, double, double, const Color &);
+ GDVIRTUAL7C(shaped_text_draw_outline, RID, RID, const Vector2 &, double, double, int64_t, const Color &);
+
+ virtual Vector2 shaped_text_get_grapheme_bounds(const RID &p_shaped, int64_t p_pos) const override;
+ virtual int64_t shaped_text_next_grapheme_pos(const RID &p_shaped, int64_t p_pos) const override;
+ virtual int64_t shaped_text_prev_grapheme_pos(const RID &p_shaped, int64_t p_pos) const override;
+ GDVIRTUAL2RC(Vector2, shaped_text_get_grapheme_bounds, RID, int64_t);
+ GDVIRTUAL2RC(int64_t, shaped_text_next_grapheme_pos, RID, int64_t);
+ GDVIRTUAL2RC(int64_t, shaped_text_prev_grapheme_pos, RID, int64_t);
virtual String format_number(const String &p_string, const String &p_language = "") const override;
virtual String parse_number(const String &p_string, const String &p_language = "") const override;
virtual String percent_sign(const String &p_language = "") const override;
- GDVIRTUAL2RC(String, _format_number, const String &, const String &);
- GDVIRTUAL2RC(String, _parse_number, const String &, const String &);
- GDVIRTUAL1RC(String, _percent_sign, const String &);
+ GDVIRTUAL2RC(String, format_number, const String &, const String &);
+ GDVIRTUAL2RC(String, parse_number, const String &, const String &);
+ GDVIRTUAL1RC(String, percent_sign, const String &);
+
+ virtual String strip_diacritics(const String &p_string) const override;
+ GDVIRTUAL1RC(String, strip_diacritics, const String &);
virtual String string_to_upper(const String &p_string, const String &p_language = "") const override;
virtual String string_to_lower(const String &p_string, const String &p_language = "") const override;
- GDVIRTUAL2RC(String, _string_to_upper, const String &, const String &);
- GDVIRTUAL2RC(String, _string_to_lower, const String &, const String &);
+ GDVIRTUAL2RC(String, string_to_upper, const String &, const String &);
+ GDVIRTUAL2RC(String, string_to_lower, const String &, const String &);
TextServerExtension();
~TextServerExtension();
diff --git a/servers/text_server.cpp b/servers/text_server.cpp
index aaba79c049..ec31885cae 100644
--- a/servers/text_server.cpp
+++ b/servers/text_server.cpp
@@ -200,7 +200,7 @@ void TextServer::_bind_methods() {
ClassDB::bind_method(D_METHOD("tag_to_name", "tag"), &TextServer::tag_to_name);
ClassDB::bind_method(D_METHOD("has", "rid"), &TextServer::has);
- ClassDB::bind_method(D_METHOD("free_rid", "rid"), &TextServer::free); // shouldn't conflict with Object::free()
+ ClassDB::bind_method(D_METHOD("free_rid", "rid"), &TextServer::free_rid);
/* Font Interface */
@@ -493,13 +493,19 @@ void TextServer::_bind_methods() {
BIND_ENUM_CONSTANT(SUBPIXEL_POSITIONING_AUTO);
BIND_ENUM_CONSTANT(SUBPIXEL_POSITIONING_ONE_HALF);
BIND_ENUM_CONSTANT(SUBPIXEL_POSITIONING_ONE_QUARTER);
+ BIND_ENUM_CONSTANT(SUBPIXEL_POSITIONING_ONE_HALF_MAX_SIZE);
+ BIND_ENUM_CONSTANT(SUBPIXEL_POSITIONING_ONE_QUARTER_MAX_SIZE);
/* Feature */
+ BIND_ENUM_CONSTANT(FEATURE_SIMPLE_LAYOUT);
BIND_ENUM_CONSTANT(FEATURE_BIDI_LAYOUT);
BIND_ENUM_CONSTANT(FEATURE_VERTICAL_LAYOUT);
BIND_ENUM_CONSTANT(FEATURE_SHAPING);
BIND_ENUM_CONSTANT(FEATURE_KASHIDA_JUSTIFICATION);
BIND_ENUM_CONSTANT(FEATURE_BREAK_ITERATORS);
+ BIND_ENUM_CONSTANT(FEATURE_FONT_BITMAP);
+ BIND_ENUM_CONSTANT(FEATURE_FONT_DYNAMIC);
+ BIND_ENUM_CONSTANT(FEATURE_FONT_MSDF);
BIND_ENUM_CONSTANT(FEATURE_FONT_SYSTEM);
BIND_ENUM_CONSTANT(FEATURE_FONT_VARIABLE);
BIND_ENUM_CONSTANT(FEATURE_CONTEXT_SENSITIVE_CASE_CONVERSION);
@@ -522,7 +528,7 @@ void TextServer::_bind_methods() {
BIND_ENUM_CONSTANT(FONT_FIXED_WIDTH);
}
-Vector2 TextServer::get_hex_code_box_size(int p_size, char32_t p_index) const {
+Vector2 TextServer::get_hex_code_box_size(int64_t p_size, int64_t p_index) const {
int w = ((p_index <= 0xFF) ? 1 : ((p_index <= 0xFFFF) ? 2 : 3));
int sp = MAX(0, w - 1);
int sz = MAX(1, Math::round(p_size / 15.f));
@@ -530,7 +536,7 @@ Vector2 TextServer::get_hex_code_box_size(int p_size, char32_t p_index) const {
return Vector2(4 + 3 * w + sp + 1, 15) * sz;
}
-void TextServer::_draw_hex_code_box_number(RID p_canvas, int p_size, const Vector2 &p_pos, uint8_t p_index, const Color &p_color) const {
+void TextServer::_draw_hex_code_box_number(const RID &p_canvas, int64_t p_size, const Vector2 &p_pos, uint8_t p_index, const Color &p_color) const {
static uint8_t chars[] = { 0x7E, 0x30, 0x6D, 0x79, 0x33, 0x5B, 0x5F, 0x70, 0x7F, 0x7B, 0x77, 0x1F, 0x4E, 0x3D, 0x4F, 0x47, 0x00 };
uint8_t x = chars[p_index];
if (x & (1 << 6)) {
@@ -556,7 +562,7 @@ void TextServer::_draw_hex_code_box_number(RID p_canvas, int p_size, const Vecto
}
}
-void TextServer::draw_hex_code_box(RID p_canvas, int p_size, const Vector2 &p_pos, char32_t p_index, const Color &p_color) const {
+void TextServer::draw_hex_code_box(const RID &p_canvas, int64_t p_size, const Vector2 &p_pos, int64_t p_index, const Color &p_color) const {
if (p_index == 0) {
return;
}
@@ -600,7 +606,7 @@ void TextServer::draw_hex_code_box(RID p_canvas, int p_size, const Vector2 &p_po
}
}
-PackedInt32Array TextServer::shaped_text_get_line_breaks_adv(RID p_shaped, const PackedFloat32Array &p_width, int p_start, bool p_once, uint16_t /*TextBreakFlag*/ p_break_flags) const {
+PackedInt32Array TextServer::shaped_text_get_line_breaks_adv(const RID &p_shaped, const PackedFloat32Array &p_width, int64_t p_start, bool p_once, int64_t /*TextBreakFlag*/ p_break_flags) const {
PackedInt32Array lines;
ERR_FAIL_COND_V(p_width.is_empty(), lines);
@@ -676,13 +682,13 @@ PackedInt32Array TextServer::shaped_text_get_line_breaks_adv(RID p_shaped, const
return lines;
}
-PackedInt32Array TextServer::shaped_text_get_line_breaks(RID p_shaped, float p_width, int p_start, uint16_t /*TextBreakFlag*/ p_break_flags) const {
+PackedInt32Array TextServer::shaped_text_get_line_breaks(const RID &p_shaped, double p_width, int64_t p_start, int64_t /*TextBreakFlag*/ p_break_flags) const {
PackedInt32Array lines;
const_cast<TextServer *>(this)->shaped_text_update_breaks(p_shaped);
const Vector2i &range = shaped_text_get_range(p_shaped);
- float width = 0.f;
+ double width = 0.f;
int line_start = MAX(p_start, range.x);
int last_safe_break = -1;
int word_count = 0;
@@ -744,7 +750,7 @@ PackedInt32Array TextServer::shaped_text_get_line_breaks(RID p_shaped, float p_w
return lines;
}
-PackedInt32Array TextServer::shaped_text_get_word_breaks(RID p_shaped, int p_grapheme_flags) const {
+PackedInt32Array TextServer::shaped_text_get_word_breaks(const RID &p_shaped, int64_t p_grapheme_flags) const {
PackedInt32Array words;
const_cast<TextServer *>(this)->shaped_text_update_justification_ops(p_shaped);
@@ -776,7 +782,7 @@ PackedInt32Array TextServer::shaped_text_get_word_breaks(RID p_shaped, int p_gra
return words;
}
-CaretInfo TextServer::shaped_text_get_carets(RID p_shaped, int p_position) const {
+CaretInfo TextServer::shaped_text_get_carets(const RID &p_shaped, int64_t p_position) const {
Vector<Rect2> carets;
TextServer::Orientation orientation = shaped_text_get_orientation(p_shaped);
@@ -926,7 +932,7 @@ CaretInfo TextServer::shaped_text_get_carets(RID p_shaped, int p_position) const
return caret;
}
-Dictionary TextServer::_shaped_text_get_carets_wrapper(RID p_shaped, int p_position) const {
+Dictionary TextServer::_shaped_text_get_carets_wrapper(const RID &p_shaped, int64_t p_position) const {
Dictionary ret;
CaretInfo caret = shaped_text_get_carets(p_shaped, p_position);
@@ -939,7 +945,7 @@ Dictionary TextServer::_shaped_text_get_carets_wrapper(RID p_shaped, int p_posit
return ret;
}
-TextServer::Direction TextServer::shaped_text_get_dominant_direction_in_range(RID p_shaped, int p_start, int p_end) const {
+TextServer::Direction TextServer::shaped_text_get_dominant_direction_in_range(const RID &p_shaped, int64_t p_start, int64_t p_end) const {
if (p_start == p_end) {
return DIRECTION_AUTO;
}
@@ -973,7 +979,7 @@ TextServer::Direction TextServer::shaped_text_get_dominant_direction_in_range(RI
}
}
-Vector<Vector2> TextServer::shaped_text_get_selection(RID p_shaped, int p_start, int p_end) const {
+Vector<Vector2> TextServer::shaped_text_get_selection(const RID &p_shaped, int64_t p_start, int64_t p_end) const {
Vector<Vector2> ranges;
if (p_start == p_end) {
@@ -1066,9 +1072,9 @@ Vector<Vector2> TextServer::shaped_text_get_selection(RID p_shaped, int p_start,
return ranges;
}
-int TextServer::shaped_text_hit_test_grapheme(RID p_shaped, float p_coords) const {
+int64_t TextServer::shaped_text_hit_test_grapheme(const RID &p_shaped, double p_coords) const {
// Exact grapheme hit test, return -1 if missed.
- float off = 0.0f;
+ double off = 0.0f;
int v_size = shaped_text_get_glyph_count(p_shaped);
const Glyph *glyphs = shaped_text_get_glyphs(p_shaped);
@@ -1084,7 +1090,7 @@ int TextServer::shaped_text_hit_test_grapheme(RID p_shaped, float p_coords) cons
return -1;
}
-int TextServer::shaped_text_hit_test_position(RID p_shaped, float p_coords) const {
+int64_t TextServer::shaped_text_hit_test_position(const RID &p_shaped, double p_coords) const {
int v_size = shaped_text_get_glyph_count(p_shaped);
const Glyph *glyphs = shaped_text_get_glyphs(p_shaped);
@@ -1177,7 +1183,7 @@ int TextServer::shaped_text_hit_test_position(RID p_shaped, float p_coords) cons
return 0;
}
-Vector2 TextServer::shaped_text_get_grapheme_bounds(RID p_shaped, int p_pos) const {
+Vector2 TextServer::shaped_text_get_grapheme_bounds(const RID &p_shaped, int64_t p_pos) const {
int v_size = shaped_text_get_glyph_count(p_shaped);
const Glyph *glyphs = shaped_text_get_glyphs(p_shaped);
@@ -1198,7 +1204,7 @@ Vector2 TextServer::shaped_text_get_grapheme_bounds(RID p_shaped, int p_pos) con
return Vector2();
}
-int TextServer::shaped_text_next_grapheme_pos(RID p_shaped, int p_pos) const {
+int64_t TextServer::shaped_text_next_grapheme_pos(const RID &p_shaped, int64_t p_pos) const {
int v_size = shaped_text_get_glyph_count(p_shaped);
const Glyph *glyphs = shaped_text_get_glyphs(p_shaped);
for (int i = 0; i < v_size; i++) {
@@ -1209,7 +1215,7 @@ int TextServer::shaped_text_next_grapheme_pos(RID p_shaped, int p_pos) const {
return p_pos;
}
-int TextServer::shaped_text_prev_grapheme_pos(RID p_shaped, int p_pos) const {
+int64_t TextServer::shaped_text_prev_grapheme_pos(const RID &p_shaped, int64_t p_pos) const {
int v_size = shaped_text_get_glyph_count(p_shaped);
const Glyph *glyphs = shaped_text_get_glyphs(p_shaped);
for (int i = 0; i < v_size; i++) {
@@ -1221,7 +1227,7 @@ int TextServer::shaped_text_prev_grapheme_pos(RID p_shaped, int p_pos) const {
return p_pos;
}
-void TextServer::shaped_text_draw(RID p_shaped, RID p_canvas, const Vector2 &p_pos, float p_clip_l, float p_clip_r, const Color &p_color) const {
+void TextServer::shaped_text_draw(const RID &p_shaped, const RID &p_canvas, const Vector2 &p_pos, double p_clip_l, double p_clip_r, const Color &p_color) const {
TextServer::Orientation orientation = shaped_text_get_orientation(p_shaped);
bool hex_codes = shaped_text_get_preserve_control(p_shaped) || shaped_text_get_preserve_invalid(p_shaped);
@@ -1318,7 +1324,7 @@ void TextServer::shaped_text_draw(RID p_shaped, RID p_canvas, const Vector2 &p_p
}
}
-void TextServer::shaped_text_draw_outline(RID p_shaped, RID p_canvas, const Vector2 &p_pos, float p_clip_l, float p_clip_r, int p_outline_size, const Color &p_color) const {
+void TextServer::shaped_text_draw_outline(const RID &p_shaped, const RID &p_canvas, const Vector2 &p_pos, double p_clip_l, double p_clip_r, int64_t p_outline_size, const Color &p_color) const {
TextServer::Orientation orientation = shaped_text_get_orientation(p_shaped);
bool rtl = (shaped_text_get_inferred_direction(p_shaped) == DIRECTION_RTL);
@@ -1538,7 +1544,7 @@ String TextServer::strip_diacritics(const String &p_string) const {
return result;
}
-Array TextServer::_shaped_text_get_glyphs_wrapper(RID p_shaped) const {
+Array TextServer::_shaped_text_get_glyphs_wrapper(const RID &p_shaped) const {
Array ret;
const Glyph *glyphs = shaped_text_get_glyphs(p_shaped);
@@ -1563,7 +1569,7 @@ Array TextServer::_shaped_text_get_glyphs_wrapper(RID p_shaped) const {
return ret;
}
-Array TextServer::_shaped_text_sort_logical_wrapper(RID p_shaped) {
+Array TextServer::_shaped_text_sort_logical_wrapper(const RID &p_shaped) {
Array ret;
const Glyph *glyphs = shaped_text_sort_logical(p_shaped);
@@ -1588,7 +1594,7 @@ Array TextServer::_shaped_text_sort_logical_wrapper(RID p_shaped) {
return ret;
}
-Array TextServer::_shaped_text_get_ellipsis_glyphs_wrapper(RID p_shaped) const {
+Array TextServer::_shaped_text_get_ellipsis_glyphs_wrapper(const RID &p_shaped) const {
Array ret;
const Glyph *glyphs = shaped_text_get_ellipsis_glyphs(p_shaped);
diff --git a/servers/text_server.h b/servers/text_server.h
index 83dc3df56d..365b7ff663 100644
--- a/servers/text_server.h
+++ b/servers/text_server.h
@@ -102,25 +102,29 @@ public:
};
enum SubpixelPositioning {
- SUBPIXEL_POSITIONING_DISABLED,
- SUBPIXEL_POSITIONING_AUTO,
- SUBPIXEL_POSITIONING_ONE_HALF,
- SUBPIXEL_POSITIONING_ONE_QUARTER,
- };
+ SUBPIXEL_POSITIONING_DISABLED = 0,
+ SUBPIXEL_POSITIONING_AUTO = 1,
+ SUBPIXEL_POSITIONING_ONE_HALF = 2,
+ SUBPIXEL_POSITIONING_ONE_QUARTER = 3,
- const int SUBPIXEL_POSITIONING_ONE_HALF_MAX_SIZE = 20;
- const int SUBPIXEL_POSITIONING_ONE_QUARTER_MAX_SIZE = 16;
+ SUBPIXEL_POSITIONING_ONE_HALF_MAX_SIZE = 20,
+ SUBPIXEL_POSITIONING_ONE_QUARTER_MAX_SIZE = 16,
+ };
enum Feature {
- FEATURE_BIDI_LAYOUT = 1 << 0,
- FEATURE_VERTICAL_LAYOUT = 1 << 1,
- FEATURE_SHAPING = 1 << 2,
- FEATURE_KASHIDA_JUSTIFICATION = 1 << 3,
- FEATURE_BREAK_ITERATORS = 1 << 4,
- FEATURE_FONT_SYSTEM = 1 << 5,
- FEATURE_FONT_VARIABLE = 1 << 6,
- FEATURE_CONTEXT_SENSITIVE_CASE_CONVERSION = 1 << 7,
- FEATURE_USE_SUPPORT_DATA = 1 << 8,
+ FEATURE_SIMPLE_LAYOUT = 1 << 0,
+ FEATURE_BIDI_LAYOUT = 1 << 1,
+ FEATURE_VERTICAL_LAYOUT = 1 << 2,
+ FEATURE_SHAPING = 1 << 3,
+ FEATURE_KASHIDA_JUSTIFICATION = 1 << 4,
+ FEATURE_BREAK_ITERATORS = 1 << 5,
+ FEATURE_FONT_BITMAP = 1 << 6,
+ FEATURE_FONT_DYNAMIC = 1 << 7,
+ FEATURE_FONT_MSDF = 1 << 8,
+ FEATURE_FONT_SYSTEM = 1 << 9,
+ FEATURE_FONT_VARIABLE = 1 << 10,
+ FEATURE_CONTEXT_SENSITIVE_CASE_CONVERSION = 1 << 11,
+ FEATURE_USE_SUPPORT_DATA = 1 << 12,
};
enum ContourPointTag {
@@ -142,62 +146,9 @@ public:
FONT_FIXED_WIDTH = 1 << 2,
};
- void _draw_hex_code_box_number(RID p_canvas, int p_size, const Vector2 &p_pos, uint8_t p_index, const Color &p_color) const;
+ void _draw_hex_code_box_number(const RID &p_canvas, int64_t p_size, const Vector2 &p_pos, uint8_t p_index, const Color &p_color) const;
protected:
- struct TrimData {
- int trim_pos = -1;
- int ellipsis_pos = -1;
- Vector<Glyph> ellipsis_glyph_buf;
- };
-
- struct ShapedTextData {
- Mutex mutex;
-
- /* Source data */
- RID parent; // Substring parent ShapedTextData.
-
- int start = 0; // Substring start offset in the parent string.
- int end = 0; // Substring end offset in the parent string.
-
- String text;
- String custom_punct;
- TextServer::Direction direction = DIRECTION_LTR; // Desired text direction.
- TextServer::Orientation orientation = ORIENTATION_HORIZONTAL;
-
- struct EmbeddedObject {
- int pos = 0;
- InlineAlignment inline_align = INLINE_ALIGNMENT_CENTER;
- Rect2 rect;
- };
- Map<Variant, EmbeddedObject> objects;
-
- /* Shaped data */
- TextServer::Direction para_direction = DIRECTION_LTR; // Detected text direction.
- bool valid = false; // String is shaped.
- bool line_breaks_valid = false; // Line and word break flags are populated (and virtual zero width spaces inserted).
- bool justification_ops_valid = false; // Virtual elongation glyphs are added to the string.
- bool sort_valid = false;
- bool text_trimmed = false;
-
- bool preserve_invalid = true; // Draw hex code box instead of missing characters.
- bool preserve_control = false; // Draw control characters.
-
- float ascent = 0.f; // Ascent for horizontal layout, 1/2 of width for vertical.
- float descent = 0.f; // Descent for horizontal layout, 1/2 of width for vertical.
- float width = 0.f; // Width for horizontal layout, height for vertical.
- float width_trimmed = 0.f;
-
- float upos = 0.f;
- float uthk = 0.f;
-
- TrimData overrun_trim_data;
- bool fit_width_minimum_reached = false;
-
- Vector<Glyph> glyphs;
- Vector<Glyph> glyphs_logical;
- };
-
Map<char32_t, char32_t> diacritics_map;
void _diacritics_map_add(const String &p_from, char32_t p_to);
void _init_diacritics_map();
@@ -207,10 +158,10 @@ protected:
public:
virtual bool has_feature(Feature p_feature) const = 0;
virtual String get_name() const = 0;
- virtual uint32_t get_features() const = 0;
+ virtual int64_t get_features() const = 0;
- virtual void free(RID p_rid) = 0;
- virtual bool has(RID p_rid) = 0;
+ virtual void free_rid(const RID &p_rid) = 0;
+ virtual bool has(const RID &p_rid) = 0;
virtual bool load_support_data(const String &p_filename) = 0;
virtual String get_support_data_filename() const = 0;
@@ -219,251 +170,251 @@ public:
virtual bool is_locale_right_to_left(const String &p_locale) const = 0;
- virtual int32_t name_to_tag(const String &p_name) const { return 0; };
- virtual String tag_to_name(int32_t p_tag) const { return ""; };
+ virtual int64_t name_to_tag(const String &p_name) const { return 0; };
+ virtual String tag_to_name(int64_t p_tag) const { return ""; };
/* Font interface */
virtual RID create_font() = 0;
- virtual void font_set_data(RID p_font_rid, const PackedByteArray &p_data) = 0;
- virtual void font_set_data_ptr(RID p_font_rid, const uint8_t *p_data_ptr, size_t p_data_size) = 0;
+ virtual void font_set_data(const RID &p_font_rid, const PackedByteArray &p_data) = 0;
+ virtual void font_set_data_ptr(const RID &p_font_rid, const uint8_t *p_data_ptr, int64_t p_data_size) = 0;
- virtual void font_set_style(RID p_font_rid, uint32_t /*FontStyle*/ p_style) = 0;
- virtual uint32_t /*FontStyle*/ font_get_style(RID p_font_rid) const = 0;
+ virtual void font_set_style(const RID &p_font_rid, int64_t /*FontStyle*/ p_style) = 0;
+ virtual int64_t /*FontStyle*/ font_get_style(const RID &p_font_rid) const = 0;
- virtual void font_set_name(RID p_font_rid, const String &p_name) = 0;
- virtual String font_get_name(RID p_font_rid) const = 0;
+ virtual void font_set_name(const RID &p_font_rid, const String &p_name) = 0;
+ virtual String font_get_name(const RID &p_font_rid) const = 0;
- virtual void font_set_style_name(RID p_font_rid, const String &p_name) = 0;
- virtual String font_get_style_name(RID p_font_rid) const = 0;
+ virtual void font_set_style_name(const RID &p_font_rid, const String &p_name) = 0;
+ virtual String font_get_style_name(const RID &p_font_rid) const = 0;
- virtual void font_set_antialiased(RID p_font_rid, bool p_antialiased) = 0;
- virtual bool font_is_antialiased(RID p_font_rid) const = 0;
+ virtual void font_set_antialiased(const RID &p_font_rid, bool p_antialiased) = 0;
+ virtual bool font_is_antialiased(const RID &p_font_rid) const = 0;
- virtual void font_set_multichannel_signed_distance_field(RID p_font_rid, bool p_msdf) = 0;
- virtual bool font_is_multichannel_signed_distance_field(RID p_font_rid) const = 0;
+ virtual void font_set_multichannel_signed_distance_field(const RID &p_font_rid, bool p_msdf) = 0;
+ virtual bool font_is_multichannel_signed_distance_field(const RID &p_font_rid) const = 0;
- virtual void font_set_msdf_pixel_range(RID p_font_rid, int p_msdf_pixel_range) = 0;
- virtual int font_get_msdf_pixel_range(RID p_font_rid) const = 0;
+ virtual void font_set_msdf_pixel_range(const RID &p_font_rid, int64_t p_msdf_pixel_range) = 0;
+ virtual int64_t font_get_msdf_pixel_range(const RID &p_font_rid) const = 0;
- virtual void font_set_msdf_size(RID p_font_rid, int p_msdf_size) = 0;
- virtual int font_get_msdf_size(RID p_font_rid) const = 0;
+ virtual void font_set_msdf_size(const RID &p_font_rid, int64_t p_msdf_size) = 0;
+ virtual int64_t font_get_msdf_size(const RID &p_font_rid) const = 0;
- virtual void font_set_fixed_size(RID p_font_rid, int p_fixed_size) = 0;
- virtual int font_get_fixed_size(RID p_font_rid) const = 0;
+ virtual void font_set_fixed_size(const RID &p_font_rid, int64_t p_fixed_size) = 0;
+ virtual int64_t font_get_fixed_size(const RID &p_font_rid) const = 0;
- virtual void font_set_force_autohinter(RID p_font_rid, bool p_force_autohinter) = 0;
- virtual bool font_is_force_autohinter(RID p_font_rid) const = 0;
+ virtual void font_set_force_autohinter(const RID &p_font_rid, bool p_force_autohinter) = 0;
+ virtual bool font_is_force_autohinter(const RID &p_font_rid) const = 0;
- virtual void font_set_hinting(RID p_font_rid, Hinting p_hinting) = 0;
- virtual Hinting font_get_hinting(RID p_font_rid) const = 0;
+ virtual void font_set_hinting(const RID &p_font_rid, Hinting p_hinting) = 0;
+ virtual Hinting font_get_hinting(const RID &p_font_rid) const = 0;
- virtual void font_set_subpixel_positioning(RID p_font_rid, SubpixelPositioning p_subpixel) = 0;
- virtual SubpixelPositioning font_get_subpixel_positioning(RID p_font_rid) const = 0;
+ virtual void font_set_subpixel_positioning(const RID &p_font_rid, SubpixelPositioning p_subpixel) = 0;
+ virtual SubpixelPositioning font_get_subpixel_positioning(const RID &p_font_rid) const = 0;
- virtual void font_set_embolden(RID p_font_rid, float p_strength) = 0;
- virtual float font_get_embolden(RID p_font_rid) const = 0;
+ virtual void font_set_embolden(const RID &p_font_rid, double p_strength) = 0;
+ virtual double font_get_embolden(const RID &p_font_rid) const = 0;
- virtual void font_set_transform(RID p_font_rid, Transform2D p_transform) = 0;
- virtual Transform2D font_get_transform(RID p_font_rid) const = 0;
+ virtual void font_set_transform(const RID &p_font_rid, const Transform2D &p_transform) = 0;
+ virtual Transform2D font_get_transform(const RID &p_font_rid) const = 0;
- virtual void font_set_variation_coordinates(RID p_font_rid, const Dictionary &p_variation_coordinates) = 0;
- virtual Dictionary font_get_variation_coordinates(RID p_font_rid) const = 0;
+ virtual void font_set_variation_coordinates(const RID &p_font_rid, const Dictionary &p_variation_coordinates) = 0;
+ virtual Dictionary font_get_variation_coordinates(const RID &p_font_rid) const = 0;
- virtual void font_set_oversampling(RID p_font_rid, float p_oversampling) = 0;
- virtual float font_get_oversampling(RID p_font_rid) const = 0;
+ virtual void font_set_oversampling(const RID &p_font_rid, double p_oversampling) = 0;
+ virtual double font_get_oversampling(const RID &p_font_rid) const = 0;
- virtual Array font_get_size_cache_list(RID p_font_rid) const = 0;
- virtual void font_clear_size_cache(RID p_font_rid) = 0;
- virtual void font_remove_size_cache(RID p_font_rid, const Vector2i &p_size) = 0;
+ virtual Array font_get_size_cache_list(const RID &p_font_rid) const = 0;
+ virtual void font_clear_size_cache(const RID &p_font_rid) = 0;
+ virtual void font_remove_size_cache(const RID &p_font_rid, const Vector2i &p_size) = 0;
- virtual void font_set_ascent(RID p_font_rid, int p_size, float p_ascent) = 0;
- virtual float font_get_ascent(RID p_font_rid, int p_size) const = 0;
+ virtual void font_set_ascent(const RID &p_font_rid, int64_t p_size, double p_ascent) = 0;
+ virtual double font_get_ascent(const RID &p_font_rid, int64_t p_size) const = 0;
- virtual void font_set_descent(RID p_font_rid, int p_size, float p_descent) = 0;
- virtual float font_get_descent(RID p_font_rid, int p_size) const = 0;
+ virtual void font_set_descent(const RID &p_font_rid, int64_t p_size, double p_descent) = 0;
+ virtual double font_get_descent(const RID &p_font_rid, int64_t p_size) const = 0;
- virtual void font_set_underline_position(RID p_font_rid, int p_size, float p_underline_position) = 0;
- virtual float font_get_underline_position(RID p_font_rid, int p_size) const = 0;
+ virtual void font_set_underline_position(const RID &p_font_rid, int64_t p_size, double p_underline_position) = 0;
+ virtual double font_get_underline_position(const RID &p_font_rid, int64_t p_size) const = 0;
- virtual void font_set_underline_thickness(RID p_font_rid, int p_size, float p_underline_thickness) = 0;
- virtual float font_get_underline_thickness(RID p_font_rid, int p_size) const = 0;
+ virtual void font_set_underline_thickness(const RID &p_font_rid, int64_t p_size, double p_underline_thickness) = 0;
+ virtual double font_get_underline_thickness(const RID &p_font_rid, int64_t p_size) const = 0;
- virtual void font_set_scale(RID p_font_rid, int p_size, float p_scale) = 0;
- virtual float font_get_scale(RID p_font_rid, int p_size) const = 0;
+ virtual void font_set_scale(const RID &p_font_rid, int64_t p_size, double p_scale) = 0;
+ virtual double font_get_scale(const RID &p_font_rid, int64_t p_size) const = 0;
- virtual void font_set_spacing(RID p_font_rid, int p_size, SpacingType p_spacing, int p_value) = 0;
- virtual int font_get_spacing(RID p_font_rid, int p_size, SpacingType p_spacing) const = 0;
+ virtual void font_set_spacing(const RID &p_font_rid, int64_t p_size, SpacingType p_spacing, int64_t p_value) = 0;
+ virtual int64_t font_get_spacing(const RID &p_font_rid, int64_t p_size, SpacingType p_spacing) const = 0;
- virtual int font_get_texture_count(RID p_font_rid, const Vector2i &p_size) const = 0;
- virtual void font_clear_textures(RID p_font_rid, const Vector2i &p_size) = 0;
- virtual void font_remove_texture(RID p_font_rid, const Vector2i &p_size, int p_texture_index) = 0;
+ virtual int64_t font_get_texture_count(const RID &p_font_rid, const Vector2i &p_size) const = 0;
+ virtual void font_clear_textures(const RID &p_font_rid, const Vector2i &p_size) = 0;
+ virtual void font_remove_texture(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index) = 0;
- virtual void font_set_texture_image(RID p_font_rid, const Vector2i &p_size, int p_texture_index, const Ref<Image> &p_image) = 0;
- virtual Ref<Image> font_get_texture_image(RID p_font_rid, const Vector2i &p_size, int p_texture_index) const = 0;
+ virtual void font_set_texture_image(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index, const Ref<Image> &p_image) = 0;
+ virtual Ref<Image> font_get_texture_image(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index) const = 0;
- virtual void font_set_texture_offsets(RID p_font_rid, const Vector2i &p_size, int p_texture_index, const PackedInt32Array &p_offset) = 0;
- virtual PackedInt32Array font_get_texture_offsets(RID p_font_rid, const Vector2i &p_size, int p_texture_index) const = 0;
+ virtual void font_set_texture_offsets(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index, const PackedInt32Array &p_offset) = 0;
+ virtual PackedInt32Array font_get_texture_offsets(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index) const = 0;
- virtual Array font_get_glyph_list(RID p_font_rid, const Vector2i &p_size) const = 0;
- virtual void font_clear_glyphs(RID p_font_rid, const Vector2i &p_size) = 0;
- virtual void font_remove_glyph(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph) = 0;
+ virtual Array font_get_glyph_list(const RID &p_font_rid, const Vector2i &p_size) const = 0;
+ virtual void font_clear_glyphs(const RID &p_font_rid, const Vector2i &p_size) = 0;
+ virtual void font_remove_glyph(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) = 0;
- virtual Vector2 font_get_glyph_advance(RID p_font_rid, int p_size, int32_t p_glyph) const = 0;
- virtual void font_set_glyph_advance(RID p_font_rid, int p_size, int32_t p_glyph, const Vector2 &p_advance) = 0;
+ virtual Vector2 font_get_glyph_advance(const RID &p_font_rid, int64_t p_size, int64_t p_glyph) const = 0;
+ virtual void font_set_glyph_advance(const RID &p_font_rid, int64_t p_size, int64_t p_glyph, const Vector2 &p_advance) = 0;
- virtual Vector2 font_get_glyph_offset(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph) const = 0;
- virtual void font_set_glyph_offset(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph, const Vector2 &p_offset) = 0;
+ virtual Vector2 font_get_glyph_offset(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const = 0;
+ virtual void font_set_glyph_offset(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, const Vector2 &p_offset) = 0;
- virtual Vector2 font_get_glyph_size(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph) const = 0;
- virtual void font_set_glyph_size(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph, const Vector2 &p_gl_size) = 0;
+ virtual Vector2 font_get_glyph_size(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const = 0;
+ virtual void font_set_glyph_size(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, const Vector2 &p_gl_size) = 0;
- virtual Rect2 font_get_glyph_uv_rect(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph) const = 0;
- virtual void font_set_glyph_uv_rect(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph, const Rect2 &p_uv_rect) = 0;
+ virtual Rect2 font_get_glyph_uv_rect(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const = 0;
+ virtual void font_set_glyph_uv_rect(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, const Rect2 &p_uv_rect) = 0;
- virtual int font_get_glyph_texture_idx(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph) const = 0;
- virtual void font_set_glyph_texture_idx(RID p_font_rid, const Vector2i &p_size, int32_t p_glyph, int p_texture_idx) = 0;
+ virtual int64_t font_get_glyph_texture_idx(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const = 0;
+ virtual void font_set_glyph_texture_idx(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, int64_t p_texture_idx) = 0;
- virtual Dictionary font_get_glyph_contours(RID p_font, int p_size, int32_t p_index) const = 0;
+ virtual Dictionary font_get_glyph_contours(const RID &p_font, int64_t p_size, int64_t p_index) const = 0;
- virtual Array font_get_kerning_list(RID p_font_rid, int p_size) const = 0;
- virtual void font_clear_kerning_map(RID p_font_rid, int p_size) = 0;
- virtual void font_remove_kerning(RID p_font_rid, int p_size, const Vector2i &p_glyph_pair) = 0;
+ virtual Array font_get_kerning_list(const RID &p_font_rid, int64_t p_size) const = 0;
+ virtual void font_clear_kerning_map(const RID &p_font_rid, int64_t p_size) = 0;
+ virtual void font_remove_kerning(const RID &p_font_rid, int64_t p_size, const Vector2i &p_glyph_pair) = 0;
- virtual void font_set_kerning(RID p_font_rid, int p_size, const Vector2i &p_glyph_pair, const Vector2 &p_kerning) = 0;
- virtual Vector2 font_get_kerning(RID p_font_rid, int p_size, const Vector2i &p_glyph_pair) const = 0;
+ virtual void font_set_kerning(const RID &p_font_rid, int64_t p_size, const Vector2i &p_glyph_pair, const Vector2 &p_kerning) = 0;
+ virtual Vector2 font_get_kerning(const RID &p_font_rid, int64_t p_size, const Vector2i &p_glyph_pair) const = 0;
- virtual int32_t font_get_glyph_index(RID p_font_rid, int p_size, char32_t p_char, char32_t p_variation_selector) const = 0;
+ virtual int64_t font_get_glyph_index(const RID &p_font_rid, int64_t p_size, int64_t p_char, int64_t p_variation_selector) const = 0;
- virtual bool font_has_char(RID p_font_rid, char32_t p_char) const = 0;
- virtual String font_get_supported_chars(RID p_font_rid) const = 0;
+ virtual bool font_has_char(const RID &p_font_rid, int64_t p_char) const = 0;
+ virtual String font_get_supported_chars(const RID &p_font_rid) const = 0;
- virtual void font_render_range(RID p_font, const Vector2i &p_size, char32_t p_start, char32_t p_end) = 0;
- virtual void font_render_glyph(RID p_font_rid, const Vector2i &p_size, int32_t p_index) = 0;
+ virtual void font_render_range(const RID &p_font, const Vector2i &p_size, int64_t p_start, int64_t p_end) = 0;
+ virtual void font_render_glyph(const RID &p_font_rid, const Vector2i &p_size, int64_t p_index) = 0;
- virtual void font_draw_glyph(RID p_font, RID p_canvas, int p_size, const Vector2 &p_pos, int32_t p_index, const Color &p_color = Color(1, 1, 1)) const = 0;
- virtual void font_draw_glyph_outline(RID p_font, RID p_canvas, int p_size, int p_outline_size, const Vector2 &p_pos, int32_t p_index, const Color &p_color = Color(1, 1, 1)) const = 0;
+ virtual void font_draw_glyph(const RID &p_font, const RID &p_canvas, int64_t p_size, const Vector2 &p_pos, int64_t p_index, const Color &p_color = Color(1, 1, 1)) const = 0;
+ virtual void font_draw_glyph_outline(const RID &p_font, const RID &p_canvas, int64_t p_size, int64_t p_outline_size, const Vector2 &p_pos, int64_t p_index, const Color &p_color = Color(1, 1, 1)) const = 0;
- virtual bool font_is_language_supported(RID p_font_rid, const String &p_language) const = 0;
- virtual void font_set_language_support_override(RID p_font_rid, const String &p_language, bool p_supported) = 0;
- virtual bool font_get_language_support_override(RID p_font_rid, const String &p_language) = 0;
- virtual void font_remove_language_support_override(RID p_font_rid, const String &p_language) = 0;
- virtual Vector<String> font_get_language_support_overrides(RID p_font_rid) = 0;
+ virtual bool font_is_language_supported(const RID &p_font_rid, const String &p_language) const = 0;
+ virtual void font_set_language_support_override(const RID &p_font_rid, const String &p_language, bool p_supported) = 0;
+ virtual bool font_get_language_support_override(const RID &p_font_rid, const String &p_language) = 0;
+ virtual void font_remove_language_support_override(const RID &p_font_rid, const String &p_language) = 0;
+ virtual PackedStringArray font_get_language_support_overrides(const RID &p_font_rid) = 0;
- virtual bool font_is_script_supported(RID p_font_rid, const String &p_script) const = 0;
- virtual void font_set_script_support_override(RID p_font_rid, const String &p_script, bool p_supported) = 0;
- virtual bool font_get_script_support_override(RID p_font_rid, const String &p_script) = 0;
- virtual void font_remove_script_support_override(RID p_font_rid, const String &p_script) = 0;
- virtual Vector<String> font_get_script_support_overrides(RID p_font_rid) = 0;
+ virtual bool font_is_script_supported(const RID &p_font_rid, const String &p_script) const = 0;
+ virtual void font_set_script_support_override(const RID &p_font_rid, const String &p_script, bool p_supported) = 0;
+ virtual bool font_get_script_support_override(const RID &p_font_rid, const String &p_script) = 0;
+ virtual void font_remove_script_support_override(const RID &p_font_rid, const String &p_script) = 0;
+ virtual PackedStringArray font_get_script_support_overrides(const RID &p_font_rid) = 0;
- virtual void font_set_opentype_feature_overrides(RID p_font_rid, const Dictionary &p_overrides) = 0;
- virtual Dictionary font_get_opentype_feature_overrides(RID p_font_rid) const = 0;
+ virtual void font_set_opentype_feature_overrides(const RID &p_font_rid, const Dictionary &p_overrides) = 0;
+ virtual Dictionary font_get_opentype_feature_overrides(const RID &p_font_rid) const = 0;
- virtual Dictionary font_supported_feature_list(RID p_font_rid) const = 0;
- virtual Dictionary font_supported_variation_list(RID p_font_rid) const = 0;
+ virtual Dictionary font_supported_feature_list(const RID &p_font_rid) const = 0;
+ virtual Dictionary font_supported_variation_list(const RID &p_font_rid) const = 0;
- virtual float font_get_global_oversampling() const = 0;
- virtual void font_set_global_oversampling(float p_oversampling) = 0;
+ virtual double font_get_global_oversampling() const = 0;
+ virtual void font_set_global_oversampling(double p_oversampling) = 0;
- virtual Vector2 get_hex_code_box_size(int p_size, char32_t p_index) const;
- virtual void draw_hex_code_box(RID p_canvas, int p_size, const Vector2 &p_pos, char32_t p_index, const Color &p_color) const;
+ virtual Vector2 get_hex_code_box_size(int64_t p_size, int64_t p_index) const;
+ virtual void draw_hex_code_box(const RID &p_canvas, int64_t p_size, const Vector2 &p_pos, int64_t p_index, const Color &p_color) const;
/* Shaped text buffer interface */
virtual RID create_shaped_text(Direction p_direction = DIRECTION_AUTO, Orientation p_orientation = ORIENTATION_HORIZONTAL) = 0;
- virtual void shaped_text_clear(RID p_shaped) = 0;
+ virtual void shaped_text_clear(const RID &p_shaped) = 0;
- virtual void shaped_text_set_direction(RID p_shaped, Direction p_direction = DIRECTION_AUTO) = 0;
- virtual Direction shaped_text_get_direction(RID p_shaped) const = 0;
- virtual Direction shaped_text_get_inferred_direction(RID p_shaped) const = 0;
+ virtual void shaped_text_set_direction(const RID &p_shaped, Direction p_direction = DIRECTION_AUTO) = 0;
+ virtual Direction shaped_text_get_direction(const RID &p_shaped) const = 0;
+ virtual Direction shaped_text_get_inferred_direction(const RID &p_shaped) const = 0;
- virtual void shaped_text_set_bidi_override(RID p_shaped, const Array &p_override) = 0;
+ virtual void shaped_text_set_bidi_override(const RID &p_shaped, const Array &p_override) = 0;
- virtual void shaped_text_set_custom_punctuation(RID p_shaped, const String &p_punct) = 0;
- virtual String shaped_text_get_custom_punctuation(RID p_shaped) const = 0;
+ virtual void shaped_text_set_custom_punctuation(const RID &p_shaped, const String &p_punct) = 0;
+ virtual String shaped_text_get_custom_punctuation(const RID &p_shaped) const = 0;
- virtual void shaped_text_set_orientation(RID p_shaped, Orientation p_orientation = ORIENTATION_HORIZONTAL) = 0;
- virtual Orientation shaped_text_get_orientation(RID p_shaped) const = 0;
+ virtual void shaped_text_set_orientation(const RID &p_shaped, Orientation p_orientation = ORIENTATION_HORIZONTAL) = 0;
+ virtual Orientation shaped_text_get_orientation(const RID &p_shaped) const = 0;
- virtual void shaped_text_set_preserve_invalid(RID p_shaped, bool p_enabled) = 0;
- virtual bool shaped_text_get_preserve_invalid(RID p_shaped) const = 0;
+ virtual void shaped_text_set_preserve_invalid(const RID &p_shaped, bool p_enabled) = 0;
+ virtual bool shaped_text_get_preserve_invalid(const RID &p_shaped) const = 0;
- virtual void shaped_text_set_preserve_control(RID p_shaped, bool p_enabled) = 0;
- virtual bool shaped_text_get_preserve_control(RID p_shaped) const = 0;
+ virtual void shaped_text_set_preserve_control(const RID &p_shaped, bool p_enabled) = 0;
+ virtual bool shaped_text_get_preserve_control(const RID &p_shaped) const = 0;
- virtual bool shaped_text_add_string(RID p_shaped, const String &p_text, const Vector<RID> &p_fonts, int p_size, const Dictionary &p_opentype_features = Dictionary(), const String &p_language = "", const Variant &p_meta = Variant()) = 0;
- virtual bool shaped_text_add_object(RID p_shaped, Variant p_key, const Size2 &p_size, InlineAlignment p_inline_align = INLINE_ALIGNMENT_CENTER, int p_length = 1) = 0;
- virtual bool shaped_text_resize_object(RID p_shaped, Variant p_key, const Size2 &p_size, InlineAlignment p_inline_align = INLINE_ALIGNMENT_CENTER) = 0;
+ virtual bool shaped_text_add_string(const RID &p_shaped, const String &p_text, const Array &p_fonts, int64_t p_size, const Dictionary &p_opentype_features = Dictionary(), const String &p_language = "", const Variant &p_meta = Variant()) = 0;
+ virtual bool shaped_text_add_object(const RID &p_shaped, const Variant &p_key, const Size2 &p_size, InlineAlignment p_inline_align = INLINE_ALIGNMENT_CENTER, int64_t p_length = 1) = 0;
+ virtual bool shaped_text_resize_object(const RID &p_shaped, const Variant &p_key, const Size2 &p_size, InlineAlignment p_inline_align = INLINE_ALIGNMENT_CENTER) = 0;
- virtual int shaped_get_span_count(RID p_shaped) const = 0;
- virtual Variant shaped_get_span_meta(RID p_shaped, int p_index) const = 0;
- virtual void shaped_set_span_update_font(RID p_shaped, int p_index, const Vector<RID> &p_fonts, int p_size, const Dictionary &p_opentype_features = Dictionary()) = 0;
+ virtual int64_t shaped_get_span_count(const RID &p_shaped) const = 0;
+ virtual Variant shaped_get_span_meta(const RID &p_shaped, int64_t p_index) const = 0;
+ virtual void shaped_set_span_update_font(const RID &p_shaped, int64_t p_index, const Array &p_fonts, int64_t p_size, const Dictionary &p_opentype_features = Dictionary()) = 0;
- virtual RID shaped_text_substr(RID p_shaped, int p_start, int p_length) const = 0; // Copy shaped substring (e.g. line break) without reshaping, but correctly reordered, preservers range.
- virtual RID shaped_text_get_parent(RID p_shaped) const = 0;
+ virtual RID shaped_text_substr(const RID &p_shaped, int64_t p_start, int64_t p_length) const = 0; // Copy shaped substring (e.g. line break) without reshaping, but correctly reordered, preservers range.
+ virtual RID shaped_text_get_parent(const RID &p_shaped) const = 0;
- virtual float shaped_text_fit_to_width(RID p_shaped, float p_width, uint16_t /*JustificationFlag*/ p_jst_flags = JUSTIFICATION_WORD_BOUND | JUSTIFICATION_KASHIDA) = 0;
- virtual float shaped_text_tab_align(RID p_shaped, const PackedFloat32Array &p_tab_stops) = 0;
+ virtual double shaped_text_fit_to_width(const RID &p_shaped, double p_width, int64_t /*JustificationFlag*/ p_jst_flags = JUSTIFICATION_WORD_BOUND | JUSTIFICATION_KASHIDA) = 0;
+ virtual double shaped_text_tab_align(const RID &p_shaped, const PackedFloat32Array &p_tab_stops) = 0;
- virtual bool shaped_text_shape(RID p_shaped) = 0;
- virtual bool shaped_text_update_breaks(RID p_shaped) = 0;
- virtual bool shaped_text_update_justification_ops(RID p_shaped) = 0;
+ virtual bool shaped_text_shape(const RID &p_shaped) = 0;
+ virtual bool shaped_text_update_breaks(const RID &p_shaped) = 0;
+ virtual bool shaped_text_update_justification_ops(const RID &p_shaped) = 0;
- virtual bool shaped_text_is_ready(RID p_shaped) const = 0;
+ virtual bool shaped_text_is_ready(const RID &p_shaped) const = 0;
- virtual const Glyph *shaped_text_get_glyphs(RID p_shaped) const = 0;
- Array _shaped_text_get_glyphs_wrapper(RID p_shaped) const;
- virtual const Glyph *shaped_text_sort_logical(RID p_shaped) = 0;
- Array _shaped_text_sort_logical_wrapper(RID p_shaped);
- virtual int shaped_text_get_glyph_count(RID p_shaped) const = 0;
+ virtual const Glyph *shaped_text_get_glyphs(const RID &p_shaped) const = 0;
+ Array _shaped_text_get_glyphs_wrapper(const RID &p_shaped) const;
+ virtual const Glyph *shaped_text_sort_logical(const RID &p_shaped) = 0;
+ Array _shaped_text_sort_logical_wrapper(const RID &p_shaped);
+ virtual int64_t shaped_text_get_glyph_count(const RID &p_shaped) const = 0;
- virtual Vector2i shaped_text_get_range(RID p_shaped) const = 0;
+ virtual Vector2i shaped_text_get_range(const RID &p_shaped) const = 0;
- virtual PackedInt32Array shaped_text_get_line_breaks_adv(RID p_shaped, const PackedFloat32Array &p_width, int p_start = 0, bool p_once = true, uint16_t /*TextBreakFlag*/ p_break_flags = BREAK_MANDATORY | BREAK_WORD_BOUND) const;
- virtual PackedInt32Array shaped_text_get_line_breaks(RID p_shaped, float p_width, int p_start = 0, uint16_t /*TextBreakFlag*/ p_break_flags = BREAK_MANDATORY | BREAK_WORD_BOUND) const;
- virtual PackedInt32Array shaped_text_get_word_breaks(RID p_shaped, int p_grapheme_flags = GRAPHEME_IS_SPACE | GRAPHEME_IS_PUNCTUATION) const;
+ virtual PackedInt32Array shaped_text_get_line_breaks_adv(const RID &p_shaped, const PackedFloat32Array &p_width, int64_t p_start = 0, bool p_once = true, int64_t /*TextBreakFlag*/ p_break_flags = BREAK_MANDATORY | BREAK_WORD_BOUND) const;
+ virtual PackedInt32Array shaped_text_get_line_breaks(const RID &p_shaped, double p_width, int64_t p_start = 0, int64_t /*TextBreakFlag*/ p_break_flags = BREAK_MANDATORY | BREAK_WORD_BOUND) const;
+ virtual PackedInt32Array shaped_text_get_word_breaks(const RID &p_shaped, int64_t p_grapheme_flags = GRAPHEME_IS_SPACE | GRAPHEME_IS_PUNCTUATION) const;
- virtual int shaped_text_get_trim_pos(RID p_shaped) const = 0;
- virtual int shaped_text_get_ellipsis_pos(RID p_shaped) const = 0;
- virtual const Glyph *shaped_text_get_ellipsis_glyphs(RID p_shaped) const = 0;
- Array _shaped_text_get_ellipsis_glyphs_wrapper(RID p_shaped) const;
- virtual int shaped_text_get_ellipsis_glyph_count(RID p_shaped) const = 0;
+ virtual int64_t shaped_text_get_trim_pos(const RID &p_shaped) const = 0;
+ virtual int64_t shaped_text_get_ellipsis_pos(const RID &p_shaped) const = 0;
+ virtual const Glyph *shaped_text_get_ellipsis_glyphs(const RID &p_shaped) const = 0;
+ Array _shaped_text_get_ellipsis_glyphs_wrapper(const RID &p_shaped) const;
+ virtual int64_t shaped_text_get_ellipsis_glyph_count(const RID &p_shaped) const = 0;
- virtual void shaped_text_overrun_trim_to_width(RID p_shaped, float p_width, uint16_t p_trim_flags) = 0;
+ virtual void shaped_text_overrun_trim_to_width(const RID &p_shaped, double p_width, int64_t p_trim_flags) = 0;
- virtual Array shaped_text_get_objects(RID p_shaped) const = 0;
- virtual Rect2 shaped_text_get_object_rect(RID p_shaped, Variant p_key) const = 0;
+ virtual Array shaped_text_get_objects(const RID &p_shaped) const = 0;
+ virtual Rect2 shaped_text_get_object_rect(const RID &p_shaped, const Variant &p_key) const = 0;
- virtual Size2 shaped_text_get_size(RID p_shaped) const = 0;
- virtual float shaped_text_get_ascent(RID p_shaped) const = 0;
- virtual float shaped_text_get_descent(RID p_shaped) const = 0;
- virtual float shaped_text_get_width(RID p_shaped) const = 0;
- virtual float shaped_text_get_underline_position(RID p_shaped) const = 0;
- virtual float shaped_text_get_underline_thickness(RID p_shaped) const = 0;
+ virtual Size2 shaped_text_get_size(const RID &p_shaped) const = 0;
+ virtual double shaped_text_get_ascent(const RID &p_shaped) const = 0;
+ virtual double shaped_text_get_descent(const RID &p_shaped) const = 0;
+ virtual double shaped_text_get_width(const RID &p_shaped) const = 0;
+ virtual double shaped_text_get_underline_position(const RID &p_shaped) const = 0;
+ virtual double shaped_text_get_underline_thickness(const RID &p_shaped) const = 0;
- virtual Direction shaped_text_get_dominant_direction_in_range(RID p_shaped, int p_start, int p_end) const;
+ virtual Direction shaped_text_get_dominant_direction_in_range(const RID &p_shaped, int64_t p_start, int64_t p_end) const;
- virtual CaretInfo shaped_text_get_carets(RID p_shaped, int p_position) const;
- Dictionary _shaped_text_get_carets_wrapper(RID p_shaped, int p_position) const;
+ virtual CaretInfo shaped_text_get_carets(const RID &p_shaped, int64_t p_position) const;
+ Dictionary _shaped_text_get_carets_wrapper(const RID &p_shaped, int64_t p_position) const;
- virtual Vector<Vector2> shaped_text_get_selection(RID p_shaped, int p_start, int p_end) const;
+ virtual Vector<Vector2> shaped_text_get_selection(const RID &p_shaped, int64_t p_start, int64_t p_end) const;
- virtual int shaped_text_hit_test_grapheme(RID p_shaped, float p_coords) const; // Return grapheme index.
- virtual int shaped_text_hit_test_position(RID p_shaped, float p_coords) const; // Return caret/selection position.
+ virtual int64_t shaped_text_hit_test_grapheme(const RID &p_shaped, double p_coords) const; // Return grapheme index.
+ virtual int64_t shaped_text_hit_test_position(const RID &p_shaped, double p_coords) const; // Return caret/selection position.
- virtual Vector2 shaped_text_get_grapheme_bounds(RID p_shaped, int p_pos) const;
- virtual int shaped_text_next_grapheme_pos(RID p_shaped, int p_pos) const;
- virtual int shaped_text_prev_grapheme_pos(RID p_shaped, int p_pos) const;
+ virtual Vector2 shaped_text_get_grapheme_bounds(const RID &p_shaped, int64_t p_pos) const;
+ virtual int64_t shaped_text_next_grapheme_pos(const RID &p_shaped, int64_t p_pos) const;
+ virtual int64_t shaped_text_prev_grapheme_pos(const RID &p_shaped, int64_t p_pos) const;
// The pen position is always placed on the baseline and moveing left to right.
- virtual void shaped_text_draw(RID p_shaped, RID p_canvas, const Vector2 &p_pos, float p_clip_l = -1.f, float p_clip_r = -1.f, const Color &p_color = Color(1, 1, 1)) const;
- virtual void shaped_text_draw_outline(RID p_shaped, RID p_canvas, const Vector2 &p_pos, float p_clip_l = -1.f, float p_clip_r = -1.f, int p_outline_size = 1, const Color &p_color = Color(1, 1, 1)) const;
+ virtual void shaped_text_draw(const RID &p_shaped, const RID &p_canvas, const Vector2 &p_pos, double p_clip_l = -1.0, double p_clip_r = -1.0, const Color &p_color = Color(1, 1, 1)) const;
+ virtual void shaped_text_draw_outline(const RID &p_shaped, const RID &p_canvas, const Vector2 &p_pos, double p_clip_l = -1.0, double p_clip_r = -1.0, int64_t p_outline_size = 1, const Color &p_color = Color(1, 1, 1)) const;
// Number conversion.
- virtual String format_number(const String &p_string, const String &p_language = "") const { return p_string; };
- virtual String parse_number(const String &p_string, const String &p_language = "") const { return p_string; };
- virtual String percent_sign(const String &p_language = "") const { return "%"; };
+ virtual String format_number(const String &p_string, const String &p_language = "") const = 0;
+ virtual String parse_number(const String &p_string, const String &p_language = "") const = 0;
+ virtual String percent_sign(const String &p_language = "") const = 0;
virtual String strip_diacritics(const String &p_string) const;
@@ -507,23 +458,6 @@ struct CaretInfo {
TextServer::Direction t_dir;
};
-struct GlyphCompare { // For line breaking reordering.
- _FORCE_INLINE_ bool operator()(const Glyph &l, const Glyph &r) const {
- if (l.start == r.start) {
- if (l.count == r.count) {
- if ((l.flags & TextServer::GRAPHEME_IS_VIRTUAL) == TextServer::GRAPHEME_IS_VIRTUAL) {
- return false;
- } else {
- return true;
- }
- }
- return l.count > r.count; // Sort first glyph with count & flags, order of the rest are irrelevant.
- } else {
- return l.start < r.start;
- }
- }
-};
-
/*************************************************************************/
class TextServerManager : public Object {