2020-08-12 19:49:10 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-07-06 16:08:05 +08:00
<class name= "TextServerManager" inherits= "Object" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2020-08-12 19:49:10 +08:00
<brief_description >
2023-04-30 22:26:09 +08:00
A singleton for managing [TextServer] implementations.
2020-08-12 19:49:10 +08:00
</brief_description>
<description >
2023-04-30 22:26:09 +08:00
[TextServerManager] is the API backend for loading, enumerating, and switching [TextServer]s.
2021-10-05 20:24:34 +08:00
[b]Note:[/b] Switching text server at runtime is possible, but will invalidate all fonts and text buffers. Make sure to unload all controls, fonts, and themes before doing so.
2020-08-12 19:49:10 +08:00
</description>
<tutorials >
</tutorials>
<methods >
2021-08-28 05:19:51 +08:00
<method name= "add_interface" >
<return type= "void" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "interface" type= "TextServer" />
2021-08-28 05:19:51 +08:00
<description >
2023-04-30 22:26:09 +08:00
Registers a [TextServer] interface.
2021-08-28 05:19:51 +08:00
</description>
</method>
2020-08-12 19:49:10 +08:00
<method name= "find_interface" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "TextServer" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "name" type= "String" />
2020-08-12 19:49:10 +08:00
<description >
2023-04-30 22:26:09 +08:00
Finds an interface by its [param name].
2020-08-12 19:49:10 +08:00
</description>
</method>
<method name= "get_interface" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "TextServer" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "idx" type= "int" />
2020-08-12 19:49:10 +08:00
<description >
Returns the interface registered at a given index.
</description>
</method>
<method name= "get_interface_count" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "int" />
2020-08-12 19:49:10 +08:00
<description >
Returns the number of interfaces currently registered.
</description>
</method>
<method name= "get_interfaces" qualifiers= "const" >
2022-08-08 06:52:20 +08:00
<return type= "Dictionary[]" />
2020-08-12 19:49:10 +08:00
<description >
2023-04-30 22:26:09 +08:00
Returns a list of available interfaces, with the index and name of each interface.
2020-08-12 19:49:10 +08:00
</description>
</method>
<method name= "get_primary_interface" qualifiers= "const" >
2021-07-30 21:28:05 +08:00
<return type= "TextServer" />
2020-08-12 19:49:10 +08:00
<description >
2021-08-28 05:19:51 +08:00
Returns the primary [TextServer] interface currently in use.
</description>
</method>
<method name= "remove_interface" >
<return type= "void" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "interface" type= "TextServer" />
2021-08-28 05:19:51 +08:00
<description >
2023-04-30 22:26:09 +08:00
Removes an interface. All fonts and shaped text caches should be freed before removing an interface.
2020-08-12 19:49:10 +08:00
</description>
</method>
<method name= "set_primary_interface" >
2021-08-28 05:19:51 +08:00
<return type= "void" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "index" type= "TextServer" />
2020-08-12 19:49:10 +08:00
<description >
2021-08-28 05:19:51 +08:00
Sets the primary [TextServer] interface.
2020-08-12 19:49:10 +08:00
</description>
</method>
</methods>
2021-08-28 05:19:51 +08:00
<signals >
<signal name= "interface_added" >
2022-08-07 02:11:48 +08:00
<param index= "0" name= "interface_name" type= "StringName" />
2021-08-28 05:19:51 +08:00
<description >
Emitted when a new interface has been added.
</description>
</signal>
<signal name= "interface_removed" >
2022-08-07 02:11:48 +08:00
<param index= "0" name= "interface_name" type= "StringName" />
2021-08-28 05:19:51 +08:00
<description >
Emitted when an interface is removed.
</description>
</signal>
</signals>
2020-08-12 19:49:10 +08:00
</class>