:github_url: hide .. Generated automatically by doc/tools/make_rst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the TextureRect.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_TextureRect: TextureRect =========== **Inherits:** :ref:`Control` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` Control for drawing textures. Description ----------- Used to draw icons and sprites in a user interface. The texture's placement can be controlled with the :ref:`stretch_mode` property. It can scale, tile, or stay centered inside its bounding rectangle. **Note:** You should enable :ref:`flip_v` when using a TextureRect to display a :ref:`ViewportTexture`. Alternatively, you can enable :ref:`Viewport.render_target_v_flip` on the Viewport. Otherwise, the image will appear upside down. Tutorials --------- - `3D Voxel Demo `__ Properties ---------- +--------------------------------------------------+--------------------------------------------------------------+---------------------------+ | :ref:`bool` | :ref:`expand` | ``false`` | +--------------------------------------------------+--------------------------------------------------------------+---------------------------+ | :ref:`bool` | :ref:`flip_h` | ``false`` | +--------------------------------------------------+--------------------------------------------------------------+---------------------------+ | :ref:`bool` | :ref:`flip_v` | ``false`` | +--------------------------------------------------+--------------------------------------------------------------+---------------------------+ | :ref:`MouseFilter` | mouse_filter | ``1`` *(parent override)* | +--------------------------------------------------+--------------------------------------------------------------+---------------------------+ | :ref:`StretchMode` | :ref:`stretch_mode` | ``0`` | +--------------------------------------------------+--------------------------------------------------------------+---------------------------+ | :ref:`Texture` | :ref:`texture` | | +--------------------------------------------------+--------------------------------------------------------------+---------------------------+ Enumerations ------------ .. _enum_TextureRect_StretchMode: .. _class_TextureRect_constant_STRETCH_SCALE_ON_EXPAND: .. _class_TextureRect_constant_STRETCH_SCALE: .. _class_TextureRect_constant_STRETCH_TILE: .. _class_TextureRect_constant_STRETCH_KEEP: .. _class_TextureRect_constant_STRETCH_KEEP_CENTERED: .. _class_TextureRect_constant_STRETCH_KEEP_ASPECT: .. _class_TextureRect_constant_STRETCH_KEEP_ASPECT_CENTERED: .. _class_TextureRect_constant_STRETCH_KEEP_ASPECT_COVERED: 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 :ref:`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 --------------------- .. _class_TextureRect_property_expand: - :ref:`bool` **expand** +-----------+-------------------+ | *Default* | ``false`` | +-----------+-------------------+ | *Setter* | set_expand(value) | +-----------+-------------------+ | *Getter* | has_expand() | +-----------+-------------------+ If ``true``, the texture scales to fit its bounding rectangle. ---- .. _class_TextureRect_property_flip_h: - :ref:`bool` **flip_h** +-----------+-------------------+ | *Default* | ``false`` | +-----------+-------------------+ | *Setter* | set_flip_h(value) | +-----------+-------------------+ | *Getter* | is_flipped_h() | +-----------+-------------------+ If ``true``, texture is flipped horizontally. ---- .. _class_TextureRect_property_flip_v: - :ref:`bool` **flip_v** +-----------+-------------------+ | *Default* | ``false`` | +-----------+-------------------+ | *Setter* | set_flip_v(value) | +-----------+-------------------+ | *Getter* | is_flipped_v() | +-----------+-------------------+ If ``true``, texture is flipped vertically. ---- .. _class_TextureRect_property_stretch_mode: - :ref:`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 :ref:`StretchMode`. ---- .. _class_TextureRect_property_texture: - :ref:`Texture` **texture** +----------+--------------------+ | *Setter* | set_texture(value) | +----------+--------------------+ | *Getter* | get_texture() | +----------+--------------------+ The node's :ref:`Texture` resource. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`