Skip to content

Files

Latest commit

 Cannot retrieve latest commit at this time.

History

History
153 lines (100 loc) · 6.92 KB

class_aspectratiocontainer.rst

File metadata and controls

153 lines (100 loc) · 6.92 KB
github_url:hide

AspectRatioContainer

Inherits: :ref:`Container<class_Container>` < :ref:`Control<class_Control>` < :ref:`CanvasItem<class_CanvasItem>` < :ref:`Node<class_Node>` < :ref:`Object<class_Object>`

Container that preserves its child controls' aspect ratio.

Description

Arranges child controls in a way to preserve their aspect ratio automatically whenever the container is resized. Solves the problem where the container size is dynamic and the contents' size needs to adjust accordingly without losing proportions.

Tutorials

Properties

:ref:`AlignmentMode<enum_AspectRatioContainer_AlignmentMode>` :ref:`alignment_horizontal<class_AspectRatioContainer_property_alignment_horizontal>` 1
:ref:`AlignmentMode<enum_AspectRatioContainer_AlignmentMode>` :ref:`alignment_vertical<class_AspectRatioContainer_property_alignment_vertical>` 1
:ref:`float<class_float>` :ref:`ratio<class_AspectRatioContainer_property_ratio>` 1.0
:ref:`StretchMode<enum_AspectRatioContainer_StretchMode>` :ref:`stretch_mode<class_AspectRatioContainer_property_stretch_mode>` 2

Enumerations

enum StretchMode:

  • STRETCH_WIDTH_CONTROLS_HEIGHT = 0 --- The height of child controls is automatically adjusted based on the width of the container.
  • STRETCH_HEIGHT_CONTROLS_WIDTH = 1 --- The width of child controls is automatically adjusted based on the height of the container.
  • STRETCH_FIT = 2 --- The bounding rectangle of child controls is automatically adjusted to fit inside the container while keeping the aspect ratio.
  • STRETCH_COVER = 3 --- The width and height of child controls is automatically adjusted to make their bounding rectangle cover the entire area of the container while keeping the aspect ratio.

When the bounding rectangle of child controls exceed the container's size and :ref:`Control.clip_contents<class_Control_property_clip_contents>` is enabled, this allows to show only the container's area restricted by its own bounding rectangle.


enum AlignmentMode:

  • ALIGNMENT_BEGIN = 0 --- Aligns child controls with the beginning (left or top) of the container.
  • ALIGNMENT_CENTER = 1 --- Aligns child controls with the center of the container.
  • ALIGNMENT_END = 2 --- Aligns child controls with the end (right or bottom) of the container.

Property Descriptions

Default 1
Setter set_alignment_horizontal(value)
Getter get_alignment_horizontal()

Specifies the horizontal relative position of child controls.


Default 1
Setter set_alignment_vertical(value)
Getter get_alignment_vertical()

Specifies the vertical relative position of child controls.


Default 1.0
Setter set_ratio(value)
Getter get_ratio()

The aspect ratio to enforce on child controls. This is the width divided by the height. The ratio depends on the :ref:`stretch_mode<class_AspectRatioContainer_property_stretch_mode>`.


Default 2
Setter set_stretch_mode(value)
Getter get_stretch_mode()

The stretch mode used to align child controls.