/Godot 3.1


Inherits: Control < CanvasItem < Node < Object

Category: Core

Brief Description

Control for drawing textures.


bool expand
StretchMode stretch_mode
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.


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.

Property Descriptions

bool expand

Setter set_expand(value)
Getter has_expand()

If true, the texture scales to fit its bounding rectangle. Default value: false.

StretchMode stretch_mode

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–2019 Juan Linietsky, Ariel Manzur, Godot Engine contributors
Licensed under the MIT License.