/Godot 3.2


Inherits: Control < CanvasItem < Node < Object

Control for drawing textures.


Used to draw icons and sprites in a user interface. The texture's placement can be controlled with the stretch_mode property. It can scale, tile, or stay centered inside its bounding rectangle.

Note: You should enable flip_v when using a TextureRect to display a ViewportTexture. Alternatively, you can enable Viewport.render_target_v_flip on the Viewport. Otherwise, the image will appear upside down.


bool expand false
bool flip_h false
bool flip_v false
MouseFilter mouse_filter 1 (parent override)
StretchMode stretch_mode 0
Texture texture


enum StretchMode:

  • STRETCH_SCALE_ON_EXPAND = 0 --- Scale to fit the node's bounding rectangle, only if expand is true. Default stretch_mode, for backwards compatibility. Until you set expand to true, the texture will behave like STRETCH_KEEP.
  • STRETCH_SCALE = 1 --- Scale to fit the node's bounding rectangle.
  • STRETCH_TILE = 2 --- Tile inside the node's bounding rectangle.
  • STRETCH_KEEP = 3 --- The texture keeps its original size and stays in the bounding rectangle's top-left corner.
  • STRETCH_KEEP_CENTERED = 4 --- The texture keeps its original size and stays centered in the node's bounding rectangle.
  • STRETCH_KEEP_ASPECT = 5 --- Scale the texture to fit the node's bounding rectangle, but maintain the texture's aspect ratio.
  • STRETCH_KEEP_ASPECT_CENTERED = 6 --- Scale the texture to fit the node's bounding rectangle, center it and maintain its aspect ratio.
  • STRETCH_KEEP_ASPECT_COVERED = 7 --- Scale the texture so that the shorter side fits the bounding rectangle. The other side clips to the node's limits.

Property Descriptions

bool expand

Default false
Setter set_expand(value)
Getter has_expand()

If true, the texture scales to fit its bounding rectangle.

bool flip_h

Default false
Setter set_flip_h(value)
Getter is_flipped_h()

If true, texture is flipped horizontally.

bool flip_v

Default false
Setter set_flip_v(value)
Getter is_flipped_v()

If true, texture is flipped vertically.

StretchMode stretch_mode

Default 0
Setter set_stretch_mode(value)
Getter get_stretch_mode()

Controls the texture's behavior when resizing the node's bounding rectangle. See StretchMode.

Texture texture

Setter set_texture(value)
Getter get_texture()

The node's Texture resource.

© 2014–2020 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.