2022-03-15 13:29:32 +01:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-10-12 01:59:32 +02:00
<class name= "TextureRect" inherits= "Control" version= "4.2" >
2022-03-15 13:29:32 +01:00
<brief_description >
Control for drawing textures.
</brief_description>
<description >
Used to draw icons and sprites in a user interface. The texture's placement can be controlled with the [member stretch_mode] property. It can scale, tile, or stay centered inside its bounding rectangle.
[b]Note:[/b] You should enable [member flip_v] when using a TextureRect to display a [ViewportTexture]. Alternatively, you can enable [member Viewport.render_target_v_flip] on the Viewport. Otherwise, the image will appear upside down.
</description>
<tutorials >
<link title= "3D Voxel Demo" > https://godotengine.org/asset-library/asset/676</link>
</tutorials>
<methods >
</methods>
<members >
<member name= "expand" type= "bool" setter= "set_expand" getter= "has_expand" default= "false" >
If [code]true[/code], the texture scales to fit its bounding rectangle.
</member>
<member name= "flip_h" type= "bool" setter= "set_flip_h" getter= "is_flipped_h" default= "false" >
If [code]true[/code], texture is flipped horizontally.
</member>
<member name= "flip_v" type= "bool" setter= "set_flip_v" getter= "is_flipped_v" default= "false" >
If [code]true[/code], texture is flipped vertically.
</member>
<member name= "mouse_filter" type= "int" setter= "set_mouse_filter" getter= "get_mouse_filter" overrides= "Control" enum= "Control.MouseFilter" default= "1" />
<member name= "stretch_mode" type= "int" setter= "set_stretch_mode" getter= "get_stretch_mode" enum= "TextureRect.StretchMode" default= "0" >
Controls the texture's behavior when resizing the node's bounding rectangle. See [enum StretchMode].
</member>
<member name= "texture" type= "Texture" setter= "set_texture" getter= "get_texture" >
The node's [Texture] resource.
</member>
</members>
<constants >
<constant name= "STRETCH_SCALE_ON_EXPAND" value= "0" enum= "StretchMode" >
Scale to fit the node's bounding rectangle, only if [code]expand[/code] is [code]true[/code]. Default [code]stretch_mode[/code], for backwards compatibility. Until you set [code]expand[/code] to [code]true[/code], the texture will behave like [constant STRETCH_KEEP].
</constant>
<constant name= "STRETCH_SCALE" value= "1" enum= "StretchMode" >
Scale to fit the node's bounding rectangle.
</constant>
<constant name= "STRETCH_TILE" value= "2" enum= "StretchMode" >
Tile inside the node's bounding rectangle.
</constant>
<constant name= "STRETCH_KEEP" value= "3" enum= "StretchMode" >
The texture keeps its original size and stays in the bounding rectangle's top-left corner.
</constant>
<constant name= "STRETCH_KEEP_CENTERED" value= "4" enum= "StretchMode" >
The texture keeps its original size and stays centered in the node's bounding rectangle.
</constant>
<constant name= "STRETCH_KEEP_ASPECT" value= "5" enum= "StretchMode" >
Scale the texture to fit the node's bounding rectangle, but maintain the texture's aspect ratio.
</constant>
<constant name= "STRETCH_KEEP_ASPECT_CENTERED" value= "6" enum= "StretchMode" >
Scale the texture to fit the node's bounding rectangle, center it and maintain its aspect ratio.
</constant>
<constant name= "STRETCH_KEEP_ASPECT_COVERED" value= "7" enum= "StretchMode" >
Scale the texture so that the shorter side fits the bounding rectangle. The other side clips to the node's limits.
</constant>
</constants>
</class>