<?xml version="1.0" encoding="UTF-8" ?>
<class name="CharFXTransform" inherits="RefCounted" api_type="core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
	<brief_description>
		Controls how an individual character will be displayed in a [RichTextEffect].
	</brief_description>
	<description>
		By setting various properties on this object, you can control how individual characters will be displayed in a [RichTextEffect].
	</description>
	<tutorials>
		<link title="BBCode in RichTextLabel">$DOCS_URL/tutorials/ui/bbcode_in_richtextlabel.html</link>
	</tutorials>
	<members>
		<member name="color" type="Color" setter="set_color" getter="get_color" default="Color(0, 0, 0, 1)" keywords="colour">
			The color the character will be drawn with.
		</member>
		<member name="elapsed_time" type="float" setter="set_elapsed_time" getter="get_elapsed_time" default="0.0">
			The time elapsed since the [RichTextLabel] was added to the scene tree (in seconds). Time stops when the [RichTextLabel] is paused (see [member Node.process_mode]). Resets when the text in the [RichTextLabel] is changed.
			[b]Note:[/b] Time still passes while the [RichTextLabel] is hidden.
		</member>
		<member name="env" type="Dictionary" setter="set_environment" getter="get_environment" default="{}">
			Contains the arguments passed in the opening BBCode tag. By default, arguments are strings; if their contents match a type such as [bool], [int] or [float], they will be converted automatically. Color codes in the form [code]#rrggbb[/code] or [code]#rgb[/code] will be converted to an opaque [Color]. String arguments may not contain spaces, even if they're quoted. If present, quotes will also be present in the final string.
			For example, the opening BBCode tag [code][example foo=hello bar=true baz=42 color=#ffffff][/code] will map to the following [Dictionary]:
			[codeblock]
			{"foo": "hello", "bar": true, "baz": 42, "color": Color(1, 1, 1, 1)}
			[/codeblock]
		</member>
		<member name="font" type="RID" setter="set_font" getter="get_font" default="RID()">
			[TextServer] RID of the font used to render glyph, this value can be used with [code]TextServer.font_*[/code] methods to retrieve font information.
			[b]Note:[/b] Read-only. Setting this property won't affect drawing.
		</member>
		<member name="glyph_count" type="int" setter="set_glyph_count" getter="get_glyph_count" default="0">
			Number of glyphs in the grapheme cluster. This value is set in the first glyph of a cluster.
			[b]Note:[/b] Read-only. Setting this property won't affect drawing.
		</member>
		<member name="glyph_flags" type="int" setter="set_glyph_flags" getter="get_glyph_flags" default="0">
			Glyph flags. See [enum TextServer.GraphemeFlag] for more info.
			[b]Note:[/b] Read-only. Setting this property won't affect drawing.
		</member>
		<member name="glyph_index" type="int" setter="set_glyph_index" getter="get_glyph_index" default="0">
			Glyph index specific to the [member font]. If you want to replace this glyph, use [method TextServer.font_get_glyph_index] with [member font] to get a new glyph index for a single character.
		</member>
		<member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2(0, 0)">
			The position offset the character will be drawn with (in pixels).
		</member>
		<member name="outline" type="bool" setter="set_outline" getter="is_outline" default="false">
			If [code]true[/code], FX transform is called for outline drawing.
			[b]Note:[/b] Read-only. Setting this property won't affect drawing.
		</member>
		<member name="range" type="Vector2i" setter="set_range" getter="get_range" default="Vector2i(0, 0)">
			Absolute character range in the string, corresponding to the glyph.
			[b]Note:[/b] Read-only. Setting this property won't affect drawing.
		</member>
		<member name="relative_index" type="int" setter="set_relative_index" getter="get_relative_index" default="0">
			The character offset of the glyph, relative to the current [RichTextEffect] custom block.
			[b]Note:[/b] Read-only. Setting this property won't affect drawing.
		</member>
		<member name="transform" type="Transform2D" setter="set_transform" getter="get_transform" default="Transform2D(1, 0, 0, 1, 0, 0)">
			The current transform of the current glyph. It can be overridden (for example, by driving the position and rotation from a curve). You can also alter the existing value to apply transforms on top of other effects.
		</member>
		<member name="visible" type="bool" setter="set_visibility" getter="is_visible" default="true">
			If [code]true[/code], the character will be drawn. If [code]false[/code], the character will be hidden. Characters around hidden characters will reflow to take the space of hidden characters. If this is not desired, set their [member color] to [code]Color(1, 1, 1, 0)[/code] instead.
		</member>
	</members>
</class>
