| 1 | /**************************************************************************/ |
| 2 | /* text_server_extension.h */ |
| 3 | /**************************************************************************/ |
| 4 | /* This file is part of: */ |
| 5 | /* GODOT ENGINE */ |
| 6 | /* https://godotengine.org */ |
| 7 | /**************************************************************************/ |
| 8 | /* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ |
| 9 | /* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ |
| 10 | /* */ |
| 11 | /* Permission is hereby granted, free of charge, to any person obtaining */ |
| 12 | /* a copy of this software and associated documentation files (the */ |
| 13 | /* "Software"), to deal in the Software without restriction, including */ |
| 14 | /* without limitation the rights to use, copy, modify, merge, publish, */ |
| 15 | /* distribute, sublicense, and/or sell copies of the Software, and to */ |
| 16 | /* permit persons to whom the Software is furnished to do so, subject to */ |
| 17 | /* the following conditions: */ |
| 18 | /* */ |
| 19 | /* The above copyright notice and this permission notice shall be */ |
| 20 | /* included in all copies or substantial portions of the Software. */ |
| 21 | /* */ |
| 22 | /* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ |
| 23 | /* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ |
| 24 | /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ |
| 25 | /* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ |
| 26 | /* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ |
| 27 | /* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ |
| 28 | /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ |
| 29 | /**************************************************************************/ |
| 30 | |
| 31 | #ifndef TEXT_SERVER_EXTENSION_H |
| 32 | #define TEXT_SERVER_EXTENSION_H |
| 33 | |
| 34 | #include "core/object/gdvirtual.gen.inc" |
| 35 | #include "core/os/thread_safe.h" |
| 36 | #include "core/variant/native_ptr.h" |
| 37 | #include "core/variant/typed_array.h" |
| 38 | #include "servers/text_server.h" |
| 39 | |
| 40 | class TextServerExtension : public TextServer { |
| 41 | GDCLASS(TextServerExtension, TextServer); |
| 42 | |
| 43 | protected: |
| 44 | _THREAD_SAFE_CLASS_ |
| 45 | |
| 46 | static void _bind_methods(); |
| 47 | |
| 48 | public: |
| 49 | virtual bool has_feature(Feature p_feature) const override; |
| 50 | virtual String get_name() const override; |
| 51 | virtual int64_t get_features() const override; |
| 52 | GDVIRTUAL1RC(bool, _has_feature, Feature); |
| 53 | GDVIRTUAL0RC(String, _get_name); |
| 54 | GDVIRTUAL0RC(int64_t, _get_features); |
| 55 | |
| 56 | virtual void free_rid(const RID &p_rid) override; |
| 57 | virtual bool has(const RID &p_rid) override; |
| 58 | virtual bool load_support_data(const String &p_filename) override; |
| 59 | GDVIRTUAL1(_free_rid, RID); |
| 60 | GDVIRTUAL1R(bool, _has, RID); |
| 61 | GDVIRTUAL1R(bool, _load_support_data, const String &); |
| 62 | |
| 63 | virtual String get_support_data_filename() const override; |
| 64 | virtual String get_support_data_info() const override; |
| 65 | virtual bool save_support_data(const String &p_filename) const override; |
| 66 | GDVIRTUAL0RC(String, _get_support_data_filename); |
| 67 | GDVIRTUAL0RC(String, _get_support_data_info); |
| 68 | GDVIRTUAL1RC(bool, _save_support_data, const String &); |
| 69 | |
| 70 | virtual bool is_locale_right_to_left(const String &p_locale) const override; |
| 71 | GDVIRTUAL1RC(bool, _is_locale_right_to_left, const String &); |
| 72 | |
| 73 | virtual int64_t name_to_tag(const String &p_name) const override; |
| 74 | virtual String tag_to_name(int64_t p_tag) const override; |
| 75 | GDVIRTUAL1RC(int64_t, _name_to_tag, const String &); |
| 76 | GDVIRTUAL1RC(String, _tag_to_name, int64_t); |
| 77 | |
| 78 | /* Font interface */ |
| 79 | |
| 80 | virtual RID create_font() override; |
| 81 | GDVIRTUAL0R(RID, _create_font); |
| 82 | |
| 83 | virtual void font_set_data(const RID &p_font_rid, const PackedByteArray &p_data) override; |
| 84 | virtual void font_set_data_ptr(const RID &p_font_rid, const uint8_t *p_data_ptr, int64_t p_data_size) override; |
| 85 | GDVIRTUAL2(_font_set_data, RID, const PackedByteArray &); |
| 86 | GDVIRTUAL3(_font_set_data_ptr, RID, GDExtensionConstPtr<const uint8_t>, int64_t); |
| 87 | |
| 88 | virtual void font_set_face_index(const RID &p_font_rid, int64_t p_index) override; |
| 89 | virtual int64_t font_get_face_index(const RID &p_font_rid) const override; |
| 90 | GDVIRTUAL2(_font_set_face_index, RID, int64_t); |
| 91 | GDVIRTUAL1RC(int64_t, _font_get_face_index, RID); |
| 92 | |
| 93 | virtual int64_t font_get_face_count(const RID &p_font_rid) const override; |
| 94 | GDVIRTUAL1RC(int64_t, _font_get_face_count, RID); |
| 95 | |
| 96 | virtual void font_set_style(const RID &p_font_rid, BitField<FontStyle> p_style) override; |
| 97 | virtual BitField<FontStyle> font_get_style(const RID &p_font_rid) const override; |
| 98 | GDVIRTUAL2(_font_set_style, RID, BitField<FontStyle>); |
| 99 | GDVIRTUAL1RC(BitField<FontStyle>, _font_get_style, RID); |
| 100 | |
| 101 | virtual void font_set_name(const RID &p_font_rid, const String &p_name) override; |
| 102 | virtual String font_get_name(const RID &p_font_rid) const override; |
| 103 | virtual Dictionary font_get_ot_name_strings(const RID &p_font_rid) const override; |
| 104 | GDVIRTUAL2(_font_set_name, RID, const String &); |
| 105 | GDVIRTUAL1RC(String, _font_get_name, RID); |
| 106 | GDVIRTUAL1RC(Dictionary, _font_get_ot_name_strings, RID); |
| 107 | |
| 108 | virtual void font_set_style_name(const RID &p_font_rid, const String &p_name) override; |
| 109 | virtual String font_get_style_name(const RID &p_font_rid) const override; |
| 110 | GDVIRTUAL2(_font_set_style_name, RID, const String &); |
| 111 | GDVIRTUAL1RC(String, _font_get_style_name, RID); |
| 112 | |
| 113 | virtual void font_set_weight(const RID &p_font_rid, int64_t p_weight) override; |
| 114 | virtual int64_t font_get_weight(const RID &p_font_rid) const override; |
| 115 | GDVIRTUAL2(_font_set_weight, RID, int64_t); |
| 116 | GDVIRTUAL1RC(int64_t, _font_get_weight, RID); |
| 117 | |
| 118 | virtual void font_set_stretch(const RID &p_font_rid, int64_t p_stretch) override; |
| 119 | virtual int64_t font_get_stretch(const RID &p_font_rid) const override; |
| 120 | GDVIRTUAL2(_font_set_stretch, RID, int64_t); |
| 121 | GDVIRTUAL1RC(int64_t, _font_get_stretch, RID); |
| 122 | |
| 123 | virtual void font_set_antialiasing(const RID &p_font_rid, TextServer::FontAntialiasing p_antialiasing) override; |
| 124 | virtual TextServer::FontAntialiasing font_get_antialiasing(const RID &p_font_rid) const override; |
| 125 | GDVIRTUAL2(_font_set_antialiasing, RID, TextServer::FontAntialiasing); |
| 126 | GDVIRTUAL1RC(TextServer::FontAntialiasing, _font_get_antialiasing, RID); |
| 127 | |
| 128 | virtual void font_set_generate_mipmaps(const RID &p_font_rid, bool p_generate_mipmaps) override; |
| 129 | virtual bool font_get_generate_mipmaps(const RID &p_font_rid) const override; |
| 130 | GDVIRTUAL2(_font_set_generate_mipmaps, RID, bool); |
| 131 | GDVIRTUAL1RC(bool, _font_get_generate_mipmaps, RID); |
| 132 | |
| 133 | virtual void font_set_multichannel_signed_distance_field(const RID &p_font_rid, bool p_msdf) override; |
| 134 | virtual bool font_is_multichannel_signed_distance_field(const RID &p_font_rid) const override; |
| 135 | GDVIRTUAL2(_font_set_multichannel_signed_distance_field, RID, bool); |
| 136 | GDVIRTUAL1RC(bool, _font_is_multichannel_signed_distance_field, RID); |
| 137 | |
| 138 | virtual void font_set_msdf_pixel_range(const RID &p_font_rid, int64_t p_msdf_pixel_range) override; |
| 139 | virtual int64_t font_get_msdf_pixel_range(const RID &p_font_rid) const override; |
| 140 | GDVIRTUAL2(_font_set_msdf_pixel_range, RID, int64_t); |
| 141 | GDVIRTUAL1RC(int64_t, _font_get_msdf_pixel_range, RID); |
| 142 | |
| 143 | virtual void font_set_msdf_size(const RID &p_font_rid, int64_t p_msdf_size) override; |
| 144 | virtual int64_t font_get_msdf_size(const RID &p_font_rid) const override; |
| 145 | GDVIRTUAL2(_font_set_msdf_size, RID, int64_t); |
| 146 | GDVIRTUAL1RC(int64_t, _font_get_msdf_size, RID); |
| 147 | |
| 148 | virtual void font_set_fixed_size(const RID &p_font_rid, int64_t p_fixed_size) override; |
| 149 | virtual int64_t font_get_fixed_size(const RID &p_font_rid) const override; |
| 150 | GDVIRTUAL2(_font_set_fixed_size, RID, int64_t); |
| 151 | GDVIRTUAL1RC(int64_t, _font_get_fixed_size, RID); |
| 152 | |
| 153 | virtual void font_set_subpixel_positioning(const RID &p_font_rid, SubpixelPositioning p_subpixel) override; |
| 154 | virtual SubpixelPositioning font_get_subpixel_positioning(const RID &p_font_rid) const override; |
| 155 | GDVIRTUAL2(_font_set_subpixel_positioning, RID, SubpixelPositioning); |
| 156 | GDVIRTUAL1RC(SubpixelPositioning, _font_get_subpixel_positioning, RID); |
| 157 | |
| 158 | virtual void font_set_embolden(const RID &p_font_rid, double p_strength) override; |
| 159 | virtual double font_get_embolden(const RID &p_font_rid) const override; |
| 160 | GDVIRTUAL2(_font_set_embolden, RID, double); |
| 161 | GDVIRTUAL1RC(double, _font_get_embolden, RID); |
| 162 | |
| 163 | virtual void font_set_spacing(const RID &p_font_rid, SpacingType p_spacing, int64_t p_value) override; |
| 164 | virtual int64_t font_get_spacing(const RID &p_font_rid, SpacingType p_spacing) const override; |
| 165 | GDVIRTUAL3(_font_set_spacing, const RID &, SpacingType, int64_t); |
| 166 | GDVIRTUAL2RC(int64_t, _font_get_spacing, const RID &, SpacingType); |
| 167 | |
| 168 | virtual void font_set_transform(const RID &p_font_rid, const Transform2D &p_transform) override; |
| 169 | virtual Transform2D font_get_transform(const RID &p_font_rid) const override; |
| 170 | GDVIRTUAL2(_font_set_transform, RID, Transform2D); |
| 171 | GDVIRTUAL1RC(Transform2D, _font_get_transform, RID); |
| 172 | |
| 173 | virtual void font_set_allow_system_fallback(const RID &p_font_rid, bool p_allow_system_fallback) override; |
| 174 | virtual bool font_is_allow_system_fallback(const RID &p_font_rid) const override; |
| 175 | GDVIRTUAL2(_font_set_allow_system_fallback, RID, bool); |
| 176 | GDVIRTUAL1RC(bool, _font_is_allow_system_fallback, RID); |
| 177 | |
| 178 | virtual void font_set_force_autohinter(const RID &p_font_rid, bool p_force_autohinter) override; |
| 179 | virtual bool font_is_force_autohinter(const RID &p_font_rid) const override; |
| 180 | GDVIRTUAL2(_font_set_force_autohinter, RID, bool); |
| 181 | GDVIRTUAL1RC(bool, _font_is_force_autohinter, RID); |
| 182 | |
| 183 | virtual void font_set_hinting(const RID &p_font_rid, Hinting p_hinting) override; |
| 184 | virtual Hinting font_get_hinting(const RID &p_font_rid) const override; |
| 185 | GDVIRTUAL2(_font_set_hinting, RID, Hinting); |
| 186 | GDVIRTUAL1RC(Hinting, _font_get_hinting, RID); |
| 187 | |
| 188 | virtual void font_set_variation_coordinates(const RID &p_font_rid, const Dictionary &p_variation_coordinates) override; |
| 189 | virtual Dictionary font_get_variation_coordinates(const RID &p_font_rid) const override; |
| 190 | GDVIRTUAL2(_font_set_variation_coordinates, RID, Dictionary); |
| 191 | GDVIRTUAL1RC(Dictionary, _font_get_variation_coordinates, RID); |
| 192 | |
| 193 | virtual void font_set_oversampling(const RID &p_font_rid, double p_oversampling) override; |
| 194 | virtual double font_get_oversampling(const RID &p_font_rid) const override; |
| 195 | GDVIRTUAL2(_font_set_oversampling, RID, double); |
| 196 | GDVIRTUAL1RC(double, _font_get_oversampling, RID); |
| 197 | |
| 198 | virtual TypedArray<Vector2i> font_get_size_cache_list(const RID &p_font_rid) const override; |
| 199 | virtual void font_clear_size_cache(const RID &p_font_rid) override; |
| 200 | virtual void font_remove_size_cache(const RID &p_font_rid, const Vector2i &p_size) override; |
| 201 | GDVIRTUAL1RC(TypedArray<Vector2i>, _font_get_size_cache_list, RID); |
| 202 | GDVIRTUAL1(_font_clear_size_cache, RID); |
| 203 | GDVIRTUAL2(_font_remove_size_cache, RID, const Vector2i &); |
| 204 | |
| 205 | virtual void font_set_ascent(const RID &p_font_rid, int64_t p_size, double p_ascent) override; |
| 206 | virtual double font_get_ascent(const RID &p_font_rid, int64_t p_size) const override; |
| 207 | GDVIRTUAL3(_font_set_ascent, RID, int64_t, double); |
| 208 | GDVIRTUAL2RC(double, _font_get_ascent, RID, int64_t); |
| 209 | |
| 210 | virtual void font_set_descent(const RID &p_font_rid, int64_t p_size, double p_descent) override; |
| 211 | virtual double font_get_descent(const RID &p_font_rid, int64_t p_size) const override; |
| 212 | GDVIRTUAL3(_font_set_descent, RID, int64_t, double); |
| 213 | GDVIRTUAL2RC(double, _font_get_descent, RID, int64_t); |
| 214 | |
| 215 | virtual void font_set_underline_position(const RID &p_font_rid, int64_t p_size, double p_underline_position) override; |
| 216 | virtual double font_get_underline_position(const RID &p_font_rid, int64_t p_size) const override; |
| 217 | GDVIRTUAL3(_font_set_underline_position, RID, int64_t, double); |
| 218 | GDVIRTUAL2RC(double, _font_get_underline_position, RID, int64_t); |
| 219 | |
| 220 | virtual void font_set_underline_thickness(const RID &p_font_rid, int64_t p_size, double p_underline_thickness) override; |
| 221 | virtual double font_get_underline_thickness(const RID &p_font_rid, int64_t p_size) const override; |
| 222 | GDVIRTUAL3(_font_set_underline_thickness, RID, int64_t, double); |
| 223 | GDVIRTUAL2RC(double, _font_get_underline_thickness, RID, int64_t); |
| 224 | |
| 225 | virtual void font_set_scale(const RID &p_font_rid, int64_t p_size, double p_scale) override; |
| 226 | virtual double font_get_scale(const RID &p_font_rid, int64_t p_size) const override; |
| 227 | GDVIRTUAL3(_font_set_scale, RID, int64_t, double); |
| 228 | GDVIRTUAL2RC(double, _font_get_scale, RID, int64_t); |
| 229 | |
| 230 | virtual int64_t font_get_texture_count(const RID &p_font_rid, const Vector2i &p_size) const override; |
| 231 | virtual void font_clear_textures(const RID &p_font_rid, const Vector2i &p_size) override; |
| 232 | virtual void font_remove_texture(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index) override; |
| 233 | GDVIRTUAL2RC(int64_t, _font_get_texture_count, RID, const Vector2i &); |
| 234 | GDVIRTUAL2(_font_clear_textures, RID, const Vector2i &); |
| 235 | GDVIRTUAL3(_font_remove_texture, RID, const Vector2i &, int64_t); |
| 236 | |
| 237 | 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; |
| 238 | virtual Ref<Image> font_get_texture_image(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index) const override; |
| 239 | GDVIRTUAL4(_font_set_texture_image, RID, const Vector2i &, int64_t, const Ref<Image> &); |
| 240 | GDVIRTUAL3RC(Ref<Image>, _font_get_texture_image, RID, const Vector2i &, int64_t); |
| 241 | |
| 242 | 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; |
| 243 | virtual PackedInt32Array font_get_texture_offsets(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index) const override; |
| 244 | GDVIRTUAL4(_font_set_texture_offsets, RID, const Vector2i &, int64_t, const PackedInt32Array &); |
| 245 | GDVIRTUAL3RC(PackedInt32Array, _font_get_texture_offsets, RID, const Vector2i &, int64_t); |
| 246 | |
| 247 | virtual PackedInt32Array font_get_glyph_list(const RID &p_font_rid, const Vector2i &p_size) const override; |
| 248 | virtual void font_clear_glyphs(const RID &p_font_rid, const Vector2i &p_size) override; |
| 249 | virtual void font_remove_glyph(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) override; |
| 250 | GDVIRTUAL2RC(PackedInt32Array, _font_get_glyph_list, RID, const Vector2i &); |
| 251 | GDVIRTUAL2(_font_clear_glyphs, RID, const Vector2i &); |
| 252 | GDVIRTUAL3(_font_remove_glyph, RID, const Vector2i &, int64_t); |
| 253 | |
| 254 | virtual Vector2 font_get_glyph_advance(const RID &p_font_rid, int64_t p_size, int64_t p_glyph) const override; |
| 255 | virtual void font_set_glyph_advance(const RID &p_font_rid, int64_t p_size, int64_t p_glyph, const Vector2 &p_advance) override; |
| 256 | GDVIRTUAL3RC(Vector2, _font_get_glyph_advance, RID, int64_t, int64_t); |
| 257 | GDVIRTUAL4(_font_set_glyph_advance, RID, int64_t, int64_t, const Vector2 &); |
| 258 | |
| 259 | virtual Vector2 font_get_glyph_offset(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const override; |
| 260 | virtual void font_set_glyph_offset(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, const Vector2 &p_offset) override; |
| 261 | GDVIRTUAL3RC(Vector2, _font_get_glyph_offset, RID, const Vector2i &, int64_t); |
| 262 | GDVIRTUAL4(_font_set_glyph_offset, RID, const Vector2i &, int64_t, const Vector2 &); |
| 263 | |
| 264 | virtual Vector2 font_get_glyph_size(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const override; |
| 265 | 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; |
| 266 | GDVIRTUAL3RC(Vector2, _font_get_glyph_size, RID, const Vector2i &, int64_t); |
| 267 | GDVIRTUAL4(_font_set_glyph_size, RID, const Vector2i &, int64_t, const Vector2 &); |
| 268 | |
| 269 | virtual Rect2 font_get_glyph_uv_rect(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const override; |
| 270 | 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; |
| 271 | GDVIRTUAL3RC(Rect2, _font_get_glyph_uv_rect, RID, const Vector2i &, int64_t); |
| 272 | GDVIRTUAL4(_font_set_glyph_uv_rect, RID, const Vector2i &, int64_t, const Rect2 &); |
| 273 | |
| 274 | virtual int64_t font_get_glyph_texture_idx(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const override; |
| 275 | 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; |
| 276 | GDVIRTUAL3RC(int64_t, _font_get_glyph_texture_idx, RID, const Vector2i &, int64_t); |
| 277 | GDVIRTUAL4(_font_set_glyph_texture_idx, RID, const Vector2i &, int64_t, int64_t); |
| 278 | |
| 279 | virtual RID font_get_glyph_texture_rid(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const override; |
| 280 | GDVIRTUAL3RC(RID, _font_get_glyph_texture_rid, RID, const Vector2i &, int64_t); |
| 281 | |
| 282 | virtual Size2 font_get_glyph_texture_size(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const override; |
| 283 | GDVIRTUAL3RC(Size2, _font_get_glyph_texture_size, RID, const Vector2i &, int64_t); |
| 284 | |
| 285 | virtual Dictionary font_get_glyph_contours(const RID &p_font, int64_t p_size, int64_t p_index) const override; |
| 286 | GDVIRTUAL3RC(Dictionary, _font_get_glyph_contours, RID, int64_t, int64_t); |
| 287 | |
| 288 | virtual TypedArray<Vector2i> font_get_kerning_list(const RID &p_font_rid, int64_t p_size) const override; |
| 289 | virtual void font_clear_kerning_map(const RID &p_font_rid, int64_t p_size) override; |
| 290 | virtual void font_remove_kerning(const RID &p_font_rid, int64_t p_size, const Vector2i &p_glyph_pair) override; |
| 291 | GDVIRTUAL2RC(TypedArray<Vector2i>, _font_get_kerning_list, RID, int64_t); |
| 292 | GDVIRTUAL2(_font_clear_kerning_map, RID, int64_t); |
| 293 | GDVIRTUAL3(_font_remove_kerning, RID, int64_t, const Vector2i &); |
| 294 | |
| 295 | virtual void font_set_kerning(const RID &p_font_rid, int64_t p_size, const Vector2i &p_glyph_pair, const Vector2 &p_kerning) override; |
| 296 | virtual Vector2 font_get_kerning(const RID &p_font_rid, int64_t p_size, const Vector2i &p_glyph_pair) const override; |
| 297 | GDVIRTUAL4(_font_set_kerning, RID, int64_t, const Vector2i &, const Vector2 &); |
| 298 | GDVIRTUAL3RC(Vector2, _font_get_kerning, RID, int64_t, const Vector2i &); |
| 299 | |
| 300 | 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; |
| 301 | GDVIRTUAL4RC(int64_t, _font_get_glyph_index, RID, int64_t, int64_t, int64_t); |
| 302 | |
| 303 | virtual int64_t font_get_char_from_glyph_index(const RID &p_font_rid, int64_t p_size, int64_t p_glyph_index) const override; |
| 304 | GDVIRTUAL3RC(int64_t, _font_get_char_from_glyph_index, RID, int64_t, int64_t); |
| 305 | |
| 306 | virtual bool font_has_char(const RID &p_font_rid, int64_t p_char) const override; |
| 307 | virtual String font_get_supported_chars(const RID &p_font_rid) const override; |
| 308 | GDVIRTUAL2RC(bool, _font_has_char, RID, int64_t); |
| 309 | GDVIRTUAL1RC(String, _font_get_supported_chars, RID); |
| 310 | |
| 311 | virtual void font_render_range(const RID &p_font, const Vector2i &p_size, int64_t p_start, int64_t p_end) override; |
| 312 | virtual void font_render_glyph(const RID &p_font_rid, const Vector2i &p_size, int64_t p_index) override; |
| 313 | GDVIRTUAL4(_font_render_range, RID, const Vector2i &, int64_t, int64_t); |
| 314 | GDVIRTUAL3(_font_render_glyph, RID, const Vector2i &, int64_t); |
| 315 | |
| 316 | 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; |
| 317 | 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; |
| 318 | GDVIRTUAL6C(_font_draw_glyph, RID, RID, int64_t, const Vector2 &, int64_t, const Color &); |
| 319 | GDVIRTUAL7C(_font_draw_glyph_outline, RID, RID, int64_t, int64_t, const Vector2 &, int64_t, const Color &); |
| 320 | |
| 321 | virtual bool font_is_language_supported(const RID &p_font_rid, const String &p_language) const override; |
| 322 | virtual void font_set_language_support_override(const RID &p_font_rid, const String &p_language, bool p_supported) override; |
| 323 | virtual bool font_get_language_support_override(const RID &p_font_rid, const String &p_language) override; |
| 324 | virtual void font_remove_language_support_override(const RID &p_font_rid, const String &p_language) override; |
| 325 | virtual PackedStringArray font_get_language_support_overrides(const RID &p_font_rid) override; |
| 326 | GDVIRTUAL2RC(bool, _font_is_language_supported, RID, const String &); |
| 327 | GDVIRTUAL3(_font_set_language_support_override, RID, const String &, bool); |
| 328 | GDVIRTUAL2R(bool, _font_get_language_support_override, RID, const String &); |
| 329 | GDVIRTUAL2(_font_remove_language_support_override, RID, const String &); |
| 330 | GDVIRTUAL1R(PackedStringArray, _font_get_language_support_overrides, RID); |
| 331 | |
| 332 | virtual bool font_is_script_supported(const RID &p_font_rid, const String &p_script) const override; |
| 333 | virtual void font_set_script_support_override(const RID &p_font_rid, const String &p_script, bool p_supported) override; |
| 334 | virtual bool font_get_script_support_override(const RID &p_font_rid, const String &p_script) override; |
| 335 | virtual void font_remove_script_support_override(const RID &p_font_rid, const String &p_script) override; |
| 336 | virtual PackedStringArray font_get_script_support_overrides(const RID &p_font_rid) override; |
| 337 | GDVIRTUAL2RC(bool, _font_is_script_supported, RID, const String &); |
| 338 | GDVIRTUAL3(_font_set_script_support_override, RID, const String &, bool); |
| 339 | GDVIRTUAL2R(bool, _font_get_script_support_override, RID, const String &); |
| 340 | GDVIRTUAL2(_font_remove_script_support_override, RID, const String &); |
| 341 | GDVIRTUAL1R(PackedStringArray, _font_get_script_support_overrides, RID); |
| 342 | |
| 343 | virtual void font_set_opentype_feature_overrides(const RID &p_font_rid, const Dictionary &p_overrides) override; |
| 344 | virtual Dictionary font_get_opentype_feature_overrides(const RID &p_font_rid) const override; |
| 345 | GDVIRTUAL2(_font_set_opentype_feature_overrides, RID, const Dictionary &); |
| 346 | GDVIRTUAL1RC(Dictionary, _font_get_opentype_feature_overrides, RID); |
| 347 | |
| 348 | virtual Dictionary font_supported_feature_list(const RID &p_font_rid) const override; |
| 349 | virtual Dictionary font_supported_variation_list(const RID &p_font_rid) const override; |
| 350 | GDVIRTUAL1RC(Dictionary, _font_supported_feature_list, RID); |
| 351 | GDVIRTUAL1RC(Dictionary, _font_supported_variation_list, RID); |
| 352 | |
| 353 | virtual double font_get_global_oversampling() const override; |
| 354 | virtual void font_set_global_oversampling(double p_oversampling) override; |
| 355 | GDVIRTUAL0RC(double, _font_get_global_oversampling); |
| 356 | GDVIRTUAL1(_font_set_global_oversampling, double); |
| 357 | |
| 358 | virtual Vector2 get_hex_code_box_size(int64_t p_size, int64_t p_index) const override; |
| 359 | 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; |
| 360 | GDVIRTUAL2RC(Vector2, _get_hex_code_box_size, int64_t, int64_t); |
| 361 | GDVIRTUAL5C(_draw_hex_code_box, RID, int64_t, const Vector2 &, int64_t, const Color &); |
| 362 | |
| 363 | /* Shaped text buffer interface */ |
| 364 | |
| 365 | virtual RID create_shaped_text(Direction p_direction = DIRECTION_AUTO, Orientation p_orientation = ORIENTATION_HORIZONTAL) override; |
| 366 | GDVIRTUAL2R(RID, _create_shaped_text, Direction, Orientation); |
| 367 | |
| 368 | virtual void shaped_text_clear(const RID &p_shaped) override; |
| 369 | GDVIRTUAL1(_shaped_text_clear, RID); |
| 370 | |
| 371 | virtual void shaped_text_set_direction(const RID &p_shaped, Direction p_direction = DIRECTION_AUTO) override; |
| 372 | virtual Direction shaped_text_get_direction(const RID &p_shaped) const override; |
| 373 | virtual Direction shaped_text_get_inferred_direction(const RID &p_shaped) const override; |
| 374 | GDVIRTUAL2(_shaped_text_set_direction, RID, Direction); |
| 375 | GDVIRTUAL1RC(Direction, _shaped_text_get_direction, RID); |
| 376 | GDVIRTUAL1RC(Direction, _shaped_text_get_inferred_direction, RID); |
| 377 | |
| 378 | virtual void shaped_text_set_bidi_override(const RID &p_shaped, const Array &p_override) override; |
| 379 | GDVIRTUAL2(_shaped_text_set_bidi_override, RID, const Array &); |
| 380 | |
| 381 | virtual void shaped_text_set_custom_punctuation(const RID &p_shaped, const String &p_punct) override; |
| 382 | virtual String shaped_text_get_custom_punctuation(const RID &p_shaped) const override; |
| 383 | GDVIRTUAL2(_shaped_text_set_custom_punctuation, RID, String); |
| 384 | GDVIRTUAL1RC(String, _shaped_text_get_custom_punctuation, RID); |
| 385 | |
| 386 | virtual void shaped_text_set_orientation(const RID &p_shaped, Orientation p_orientation = ORIENTATION_HORIZONTAL) override; |
| 387 | virtual Orientation shaped_text_get_orientation(const RID &p_shaped) const override; |
| 388 | GDVIRTUAL2(_shaped_text_set_orientation, RID, Orientation); |
| 389 | GDVIRTUAL1RC(Orientation, _shaped_text_get_orientation, RID); |
| 390 | |
| 391 | virtual void shaped_text_set_preserve_invalid(const RID &p_shaped, bool p_enabled) override; |
| 392 | virtual bool shaped_text_get_preserve_invalid(const RID &p_shaped) const override; |
| 393 | GDVIRTUAL2(_shaped_text_set_preserve_invalid, RID, bool); |
| 394 | GDVIRTUAL1RC(bool, _shaped_text_get_preserve_invalid, RID); |
| 395 | |
| 396 | virtual void shaped_text_set_preserve_control(const RID &p_shaped, bool p_enabled) override; |
| 397 | virtual bool shaped_text_get_preserve_control(const RID &p_shaped) const override; |
| 398 | GDVIRTUAL2(_shaped_text_set_preserve_control, RID, bool); |
| 399 | GDVIRTUAL1RC(bool, _shaped_text_get_preserve_control, RID); |
| 400 | |
| 401 | virtual void shaped_text_set_spacing(const RID &p_shaped, SpacingType p_spacing, int64_t p_value) override; |
| 402 | virtual int64_t shaped_text_get_spacing(const RID &p_shaped, SpacingType p_spacing) const override; |
| 403 | GDVIRTUAL3(_shaped_text_set_spacing, RID, SpacingType, int64_t); |
| 404 | GDVIRTUAL2RC(int64_t, _shaped_text_get_spacing, RID, SpacingType); |
| 405 | |
| 406 | virtual bool shaped_text_add_string(const RID &p_shaped, const String &p_text, const TypedArray<RID> &p_fonts, int64_t p_size, const Dictionary &p_opentype_features = Dictionary(), const String &p_language = "" , const Variant &p_meta = Variant()) override; |
| 407 | 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, double p_baseline = 0.0) override; |
| 408 | 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, double p_baseline = 0.0) override; |
| 409 | GDVIRTUAL7R(bool, _shaped_text_add_string, RID, const String &, const TypedArray<RID> &, int64_t, const Dictionary &, const String &, const Variant &); |
| 410 | GDVIRTUAL6R(bool, _shaped_text_add_object, RID, const Variant &, const Size2 &, InlineAlignment, int64_t, double); |
| 411 | GDVIRTUAL5R(bool, _shaped_text_resize_object, RID, const Variant &, const Size2 &, InlineAlignment, double); |
| 412 | |
| 413 | virtual int64_t shaped_get_span_count(const RID &p_shaped) const override; |
| 414 | virtual Variant shaped_get_span_meta(const RID &p_shaped, int64_t p_index) const override; |
| 415 | virtual void shaped_set_span_update_font(const RID &p_shaped, int64_t p_index, const TypedArray<RID> &p_fonts, int64_t p_size, const Dictionary &p_opentype_features = Dictionary()) override; |
| 416 | GDVIRTUAL1RC(int64_t, _shaped_get_span_count, RID); |
| 417 | GDVIRTUAL2RC(Variant, _shaped_get_span_meta, RID, int64_t); |
| 418 | GDVIRTUAL5(_shaped_set_span_update_font, RID, int64_t, const TypedArray<RID> &, int64_t, const Dictionary &); |
| 419 | |
| 420 | virtual RID shaped_text_substr(const RID &p_shaped, int64_t p_start, int64_t p_length) const override; |
| 421 | virtual RID shaped_text_get_parent(const RID &p_shaped) const override; |
| 422 | GDVIRTUAL3RC(RID, _shaped_text_substr, RID, int64_t, int64_t); |
| 423 | GDVIRTUAL1RC(RID, _shaped_text_get_parent, RID); |
| 424 | |
| 425 | virtual double shaped_text_fit_to_width(const RID &p_shaped, double p_width, BitField<TextServer::JustificationFlag> p_jst_flags = JUSTIFICATION_WORD_BOUND | JUSTIFICATION_KASHIDA) override; |
| 426 | virtual double shaped_text_tab_align(const RID &p_shaped, const PackedFloat32Array &p_tab_stops) override; |
| 427 | GDVIRTUAL3R(double, _shaped_text_fit_to_width, RID, double, BitField<TextServer::JustificationFlag>); |
| 428 | GDVIRTUAL2R(double, _shaped_text_tab_align, RID, const PackedFloat32Array &); |
| 429 | |
| 430 | virtual bool shaped_text_shape(const RID &p_shaped) override; |
| 431 | virtual bool shaped_text_update_breaks(const RID &p_shaped) override; |
| 432 | virtual bool shaped_text_update_justification_ops(const RID &p_shaped) override; |
| 433 | GDVIRTUAL1R(bool, _shaped_text_shape, RID); |
| 434 | GDVIRTUAL1R(bool, _shaped_text_update_breaks, RID); |
| 435 | GDVIRTUAL1R(bool, _shaped_text_update_justification_ops, RID); |
| 436 | |
| 437 | virtual bool shaped_text_is_ready(const RID &p_shaped) const override; |
| 438 | GDVIRTUAL1RC(bool, _shaped_text_is_ready, RID); |
| 439 | |
| 440 | virtual const Glyph *shaped_text_get_glyphs(const RID &p_shaped) const override; |
| 441 | virtual const Glyph *shaped_text_sort_logical(const RID &p_shaped) override; |
| 442 | virtual int64_t shaped_text_get_glyph_count(const RID &p_shaped) const override; |
| 443 | GDVIRTUAL1RC(GDExtensionConstPtr<const Glyph>, _shaped_text_get_glyphs, RID); |
| 444 | GDVIRTUAL1R(GDExtensionConstPtr<const Glyph>, _shaped_text_sort_logical, RID); |
| 445 | GDVIRTUAL1RC(int64_t, _shaped_text_get_glyph_count, RID); |
| 446 | |
| 447 | virtual Vector2i shaped_text_get_range(const RID &p_shaped) const override; |
| 448 | GDVIRTUAL1RC(Vector2i, _shaped_text_get_range, RID); |
| 449 | |
| 450 | 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, BitField<TextServer::LineBreakFlag> p_break_flags = BREAK_MANDATORY | BREAK_WORD_BOUND) const override; |
| 451 | virtual PackedInt32Array shaped_text_get_line_breaks(const RID &p_shaped, double p_width, int64_t p_start = 0, BitField<TextServer::LineBreakFlag> p_break_flags = BREAK_MANDATORY | BREAK_WORD_BOUND) const override; |
| 452 | virtual PackedInt32Array shaped_text_get_word_breaks(const RID &p_shaped, BitField<TextServer::GraphemeFlag> p_grapheme_flags = GRAPHEME_IS_SPACE | GRAPHEME_IS_PUNCTUATION) const override; |
| 453 | GDVIRTUAL5RC(PackedInt32Array, _shaped_text_get_line_breaks_adv, RID, const PackedFloat32Array &, int64_t, bool, BitField<TextServer::LineBreakFlag>); |
| 454 | GDVIRTUAL4RC(PackedInt32Array, _shaped_text_get_line_breaks, RID, double, int64_t, BitField<TextServer::LineBreakFlag>); |
| 455 | GDVIRTUAL2RC(PackedInt32Array, _shaped_text_get_word_breaks, RID, BitField<TextServer::GraphemeFlag>); |
| 456 | |
| 457 | virtual int64_t shaped_text_get_trim_pos(const RID &p_shaped) const override; |
| 458 | virtual int64_t shaped_text_get_ellipsis_pos(const RID &p_shaped) const override; |
| 459 | virtual const Glyph *shaped_text_get_ellipsis_glyphs(const RID &p_shaped) const override; |
| 460 | virtual int64_t shaped_text_get_ellipsis_glyph_count(const RID &p_shaped) const override; |
| 461 | GDVIRTUAL1RC(int64_t, _shaped_text_get_trim_pos, RID); |
| 462 | GDVIRTUAL1RC(int64_t, _shaped_text_get_ellipsis_pos, RID); |
| 463 | GDVIRTUAL1RC(GDExtensionConstPtr<const Glyph>, _shaped_text_get_ellipsis_glyphs, RID); |
| 464 | GDVIRTUAL1RC(int64_t, _shaped_text_get_ellipsis_glyph_count, RID); |
| 465 | |
| 466 | virtual void shaped_text_overrun_trim_to_width(const RID &p_shaped, double p_width, BitField<TextServer::TextOverrunFlag> p_trim_flags) override; |
| 467 | GDVIRTUAL3(_shaped_text_overrun_trim_to_width, RID, double, BitField<TextServer::TextOverrunFlag>); |
| 468 | |
| 469 | virtual Array shaped_text_get_objects(const RID &p_shaped) const override; |
| 470 | virtual Rect2 shaped_text_get_object_rect(const RID &p_shaped, const Variant &p_key) const override; |
| 471 | GDVIRTUAL1RC(Array, _shaped_text_get_objects, RID); |
| 472 | GDVIRTUAL2RC(Rect2, _shaped_text_get_object_rect, RID, const Variant &); |
| 473 | |
| 474 | virtual Size2 shaped_text_get_size(const RID &p_shaped) const override; |
| 475 | virtual double shaped_text_get_ascent(const RID &p_shaped) const override; |
| 476 | virtual double shaped_text_get_descent(const RID &p_shaped) const override; |
| 477 | virtual double shaped_text_get_width(const RID &p_shaped) const override; |
| 478 | virtual double shaped_text_get_underline_position(const RID &p_shaped) const override; |
| 479 | virtual double shaped_text_get_underline_thickness(const RID &p_shaped) const override; |
| 480 | GDVIRTUAL1RC(Size2, _shaped_text_get_size, RID); |
| 481 | GDVIRTUAL1RC(double, _shaped_text_get_ascent, RID); |
| 482 | GDVIRTUAL1RC(double, _shaped_text_get_descent, RID); |
| 483 | GDVIRTUAL1RC(double, _shaped_text_get_width, RID); |
| 484 | GDVIRTUAL1RC(double, _shaped_text_get_underline_position, RID); |
| 485 | GDVIRTUAL1RC(double, _shaped_text_get_underline_thickness, RID); |
| 486 | |
| 487 | virtual Direction shaped_text_get_dominant_direction_in_range(const RID &p_shaped, int64_t p_start, int64_t p_end) const override; |
| 488 | GDVIRTUAL3RC(int64_t, _shaped_text_get_dominant_direction_in_range, RID, int64_t, int64_t); |
| 489 | |
| 490 | virtual CaretInfo shaped_text_get_carets(const RID &p_shaped, int64_t p_position) const override; |
| 491 | virtual Vector<Vector2> shaped_text_get_selection(const RID &p_shaped, int64_t p_start, int64_t p_end) const override; |
| 492 | GDVIRTUAL3C(_shaped_text_get_carets, RID, int64_t, GDExtensionPtr<CaretInfo>); |
| 493 | GDVIRTUAL3RC(Vector<Vector2>, _shaped_text_get_selection, RID, int64_t, int64_t); |
| 494 | |
| 495 | virtual int64_t shaped_text_hit_test_grapheme(const RID &p_shaped, double p_coords) const override; |
| 496 | virtual int64_t shaped_text_hit_test_position(const RID &p_shaped, double p_coords) const override; |
| 497 | GDVIRTUAL2RC(int64_t, _shaped_text_hit_test_grapheme, RID, double); |
| 498 | GDVIRTUAL2RC(int64_t, _shaped_text_hit_test_position, RID, double); |
| 499 | |
| 500 | 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; |
| 501 | 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; |
| 502 | GDVIRTUAL6C(_shaped_text_draw, RID, RID, const Vector2 &, double, double, const Color &); |
| 503 | GDVIRTUAL7C(_shaped_text_draw_outline, RID, RID, const Vector2 &, double, double, int64_t, const Color &); |
| 504 | |
| 505 | virtual Vector2 shaped_text_get_grapheme_bounds(const RID &p_shaped, int64_t p_pos) const override; |
| 506 | virtual int64_t shaped_text_next_grapheme_pos(const RID &p_shaped, int64_t p_pos) const override; |
| 507 | virtual int64_t shaped_text_prev_grapheme_pos(const RID &p_shaped, int64_t p_pos) const override; |
| 508 | GDVIRTUAL2RC(Vector2, _shaped_text_get_grapheme_bounds, RID, int64_t); |
| 509 | GDVIRTUAL2RC(int64_t, _shaped_text_next_grapheme_pos, RID, int64_t); |
| 510 | GDVIRTUAL2RC(int64_t, _shaped_text_prev_grapheme_pos, RID, int64_t); |
| 511 | |
| 512 | virtual PackedInt32Array shaped_text_get_character_breaks(const RID &p_shaped) const override; |
| 513 | virtual int64_t shaped_text_next_character_pos(const RID &p_shaped, int64_t p_pos) const override; |
| 514 | virtual int64_t shaped_text_prev_character_pos(const RID &p_shaped, int64_t p_pos) const override; |
| 515 | virtual int64_t shaped_text_closest_character_pos(const RID &p_shaped, int64_t p_pos) const override; |
| 516 | GDVIRTUAL1RC(PackedInt32Array, _shaped_text_get_character_breaks, RID); |
| 517 | GDVIRTUAL2RC(int64_t, _shaped_text_next_character_pos, RID, int64_t); |
| 518 | GDVIRTUAL2RC(int64_t, _shaped_text_prev_character_pos, RID, int64_t); |
| 519 | GDVIRTUAL2RC(int64_t, _shaped_text_closest_character_pos, RID, int64_t); |
| 520 | |
| 521 | virtual String format_number(const String &p_string, const String &p_language = "" ) const override; |
| 522 | virtual String parse_number(const String &p_string, const String &p_language = "" ) const override; |
| 523 | virtual String percent_sign(const String &p_language = "" ) const override; |
| 524 | GDVIRTUAL2RC(String, _format_number, const String &, const String &); |
| 525 | GDVIRTUAL2RC(String, _parse_number, const String &, const String &); |
| 526 | GDVIRTUAL1RC(String, _percent_sign, const String &); |
| 527 | |
| 528 | virtual String strip_diacritics(const String &p_string) const override; |
| 529 | GDVIRTUAL1RC(String, _strip_diacritics, const String &); |
| 530 | |
| 531 | virtual PackedInt32Array string_get_word_breaks(const String &p_string, const String &p_language = "" , int64_t p_chars_per_line = 0) const override; |
| 532 | GDVIRTUAL3RC(PackedInt32Array, _string_get_word_breaks, const String &, const String &, int64_t); |
| 533 | |
| 534 | virtual PackedInt32Array string_get_character_breaks(const String &p_string, const String &p_language = "" ) const override; |
| 535 | GDVIRTUAL2RC(PackedInt32Array, _string_get_character_breaks, const String &, const String &); |
| 536 | |
| 537 | virtual bool is_valid_identifier(const String &p_string) const override; |
| 538 | GDVIRTUAL1RC(bool, _is_valid_identifier, const String &); |
| 539 | |
| 540 | virtual String string_to_upper(const String &p_string, const String &p_language = "" ) const override; |
| 541 | virtual String string_to_lower(const String &p_string, const String &p_language = "" ) const override; |
| 542 | GDVIRTUAL2RC(String, _string_to_upper, const String &, const String &); |
| 543 | GDVIRTUAL2RC(String, _string_to_lower, const String &, const String &); |
| 544 | |
| 545 | TypedArray<Vector3i> parse_structured_text(StructuredTextParser p_parser_type, const Array &p_args, const String &p_text) const; |
| 546 | GDVIRTUAL3RC(TypedArray<Vector3i>, _parse_structured_text, StructuredTextParser, const Array &, const String &); |
| 547 | |
| 548 | virtual int64_t is_confusable(const String &p_string, const PackedStringArray &p_dict) const override; |
| 549 | virtual bool spoof_check(const String &p_string) const override; |
| 550 | GDVIRTUAL2RC(int64_t, _is_confusable, const String &, const PackedStringArray &); |
| 551 | GDVIRTUAL1RC(bool, _spoof_check, const String &); |
| 552 | |
| 553 | virtual void cleanup() override; |
| 554 | GDVIRTUAL0(_cleanup); |
| 555 | |
| 556 | TextServerExtension(); |
| 557 | ~TextServerExtension(); |
| 558 | }; |
| 559 | |
| 560 | #endif // TEXT_SERVER_EXTENSION_H |
| 561 | |