:github_url: hide .. _class_SubViewportContainer: SubViewportContainer ==================== **Наследует:** :ref:`Container` **<** :ref:`Control` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` Контейнер, используемый для отображения содержимого :ref:`SubViewport`. .. rst-class:: classref-introduction-group Описание ---------------- Контейнер, отображающий содержимое базовых дочерних узлов :ref:`SubViewport`. Он использует объединенный размер :ref:`SubViewport` в качестве минимального размера, если только не включено :ref:`stretch`. \ **Примечание:** Изменение :ref:`Control.scale` **SubViewportContainer** приведет к искажению его содержимого. Чтобы изменить его визуальный размер без искажения, вместо этого отрегулируйте поля узла (если он еще не находится в контейнере). \ **Примечание:** **SubViewportContainer** пересылает уведомления о входе и выходе мыши в свои подчиненные окна просмотра. .. rst-class:: classref-reftable-group Свойства ---------------- .. table:: :widths: auto +------------------------------------------+---------------------------------------------------------------------------+---------------------------------------------------------------------+ | :ref:`FocusMode` | focus_mode | ``1`` (overrides :ref:`Control`) | +------------------------------------------+---------------------------------------------------------------------------+---------------------------------------------------------------------+ | :ref:`bool` | :ref:`mouse_target` | ``false`` | +------------------------------------------+---------------------------------------------------------------------------+---------------------------------------------------------------------+ | :ref:`bool` | :ref:`stretch` | ``false`` | +------------------------------------------+---------------------------------------------------------------------------+---------------------------------------------------------------------+ | :ref:`int` | :ref:`stretch_shrink` | ``1`` | +------------------------------------------+---------------------------------------------------------------------------+---------------------------------------------------------------------+ .. rst-class:: classref-reftable-group Методы ------------ .. table:: :widths: auto +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_propagate_input_event`\ (\ event\: :ref:`InputEvent`\ ) |virtual| |const| | +-------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Описания свойств -------------------------------- .. _class_SubViewportContainer_property_mouse_target: .. rst-class:: classref-property :ref:`bool` **mouse_target** = ``false`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_mouse_target**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_mouse_target_enabled**\ (\ ) Настройте, должны ли **SubViewportContainer** или в качестве альтернативы, узлы :ref:`Control` его дочерних элементов :ref:`SubViewport`, быть доступны в качестве целей для функций, связанных с мышью, таких как определение цели перетаскивания в операциях перетаскивания или формы курсора наведенного узла :ref:`Control`. Если ``false``, то узлы :ref:`Control` внутри его дочерних элементов :ref:`SubViewport` считаются целями. Если ``true``, то сам **SubViewportContainer** будет считаться целью. .. rst-class:: classref-item-separator ---- .. _class_SubViewportContainer_property_stretch: .. rst-class:: classref-property :ref:`bool` **stretch** = ``false`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_stretch**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_stretch_enabled**\ (\ ) Если ``true``, размер sub-viewport будет автоматически изменен до размера элемента управления. \ **Примечание:** Если ``true``, это запретит изменять :ref:`SubViewport.size` его дочерних элементов вручную. .. rst-class:: classref-item-separator ---- .. _class_SubViewportContainer_property_stretch_shrink: .. rst-class:: classref-property :ref:`int` **stretch_shrink** = ``1`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_stretch_shrink**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_stretch_shrink**\ (\ ) Делит эффективное разрешение sub-viewport на это значение, сохраняя его масштаб. Это можно использовать для ускорения рендеринга. Например, подокно просмотра 1280×720 с :ref:`stretch_shrink`, установленным на ``2``, будет отображаться с разрешением 640×360, занимая тот же размер в контейнере. \ **Примечание:** :ref:`stretch` должно быть ``true``, чтобы это свойство работало. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Описания метода ------------------------------ .. _class_SubViewportContainer_private_method__propagate_input_event: .. rst-class:: classref-method :ref:`bool` **_propagate_input_event**\ (\ event\: :ref:`InputEvent`\ ) |virtual| |const| :ref:`🔗` **Экспериментальное:** Этот метод может быть изменён или удалён в будущих версиях. Виртуальный метод, реализуемый пользователем. Если он возвращает ``true``, события ``event`` распространяется на дочерние элементы :ref:`SubViewport`. Распространение не происходит, если он возвращает ``false``. Если функция не реализована, все события распространяются на SubViewports. .. |virtual| replace:: :abbr:`virtual (Этот метод обычно должен быть переопределен пользователем, чтобы иметь какой-либо эффект.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (Этот метод не имеет побочных эффектов. Он не изменяет ни одну из переменных-членов экземпляра.)` .. |vararg| replace:: :abbr:`vararg (Этот метод принимает любое количество аргументов после описанных здесь.)` .. |constructor| replace:: :abbr:`constructor (Этот метод используется для создания типа.)` .. |static| replace:: :abbr:`static (Этот метод не нуждается в вызове экземпляра, поэтому его можно вызвать напрямую, используя имя класса.)` .. |operator| replace:: :abbr:`operator (Этот метод описывает допустимый оператор для использования с этим типом в качестве левого операнда.)` .. |bitfield| replace:: :abbr:`BitField (Это значение является целым числом, составленным как битовая маска следующих флагов.)` .. |void| replace:: :abbr:`void (Нет возвращаемого значения.)`