123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470 |
- :github_url: hide
- .. DO NOT EDIT THIS FILE!!!
- .. Generated automatically from Godot engine sources.
- .. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py.
- .. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/StyleBoxTexture.xml.
- .. _class_StyleBoxTexture:
- StyleBoxTexture
- ===============
- **Inherits:** :ref:`StyleBox<class_StyleBox>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
- A texture-based nine-patch :ref:`StyleBox<class_StyleBox>`.
- .. rst-class:: classref-introduction-group
- Description
- -----------
- A texture-based nine-patch :ref:`StyleBox<class_StyleBox>`, in a way similar to :ref:`NinePatchRect<class_NinePatchRect>`. This stylebox performs a 3×3 scaling of a texture, where only the center cell is fully stretched. This makes it possible to design bordered styles regardless of the stylebox's size.
- .. rst-class:: classref-reftable-group
- Properties
- ----------
- .. table::
- :widths: auto
- +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` | :ref:`axis_stretch_horizontal<class_StyleBoxTexture_property_axis_stretch_horizontal>` | ``0`` |
- +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` | :ref:`axis_stretch_vertical<class_StyleBoxTexture_property_axis_stretch_vertical>` | ``0`` |
- +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`bool<class_bool>` | :ref:`draw_center<class_StyleBoxTexture_property_draw_center>` | ``true`` |
- +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`expand_margin_bottom<class_StyleBoxTexture_property_expand_margin_bottom>` | ``0.0`` |
- +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`expand_margin_left<class_StyleBoxTexture_property_expand_margin_left>` | ``0.0`` |
- +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`expand_margin_right<class_StyleBoxTexture_property_expand_margin_right>` | ``0.0`` |
- +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`expand_margin_top<class_StyleBoxTexture_property_expand_margin_top>` | ``0.0`` |
- +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`Color<class_Color>` | :ref:`modulate_color<class_StyleBoxTexture_property_modulate_color>` | ``Color(1, 1, 1, 1)`` |
- +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`Rect2<class_Rect2>` | :ref:`region_rect<class_StyleBoxTexture_property_region_rect>` | ``Rect2(0, 0, 0, 0)`` |
- +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`Texture2D<class_Texture2D>` | :ref:`texture<class_StyleBoxTexture_property_texture>` | |
- +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`texture_margin_bottom<class_StyleBoxTexture_property_texture_margin_bottom>` | ``0.0`` |
- +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`texture_margin_left<class_StyleBoxTexture_property_texture_margin_left>` | ``0.0`` |
- +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`texture_margin_right<class_StyleBoxTexture_property_texture_margin_right>` | ``0.0`` |
- +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
- | :ref:`float<class_float>` | :ref:`texture_margin_top<class_StyleBoxTexture_property_texture_margin_top>` | ``0.0`` |
- +--------------------------------------------------------------+----------------------------------------------------------------------------------------+-----------------------+
- .. rst-class:: classref-reftable-group
- Methods
- -------
- .. table::
- :widths: auto
- +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`float<class_float>` | :ref:`get_expand_margin<class_StyleBoxTexture_method_get_expand_margin>` **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const| |
- +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | :ref:`float<class_float>` | :ref:`get_texture_margin<class_StyleBoxTexture_method_get_texture_margin>` **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const| |
- +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_expand_margin<class_StyleBoxTexture_method_set_expand_margin>` **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)** |
- +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_expand_margin_all<class_StyleBoxTexture_method_set_expand_margin_all>` **(** :ref:`float<class_float>` size **)** |
- +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_texture_margin<class_StyleBoxTexture_method_set_texture_margin>` **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)** |
- +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- | void | :ref:`set_texture_margin_all<class_StyleBoxTexture_method_set_texture_margin_all>` **(** :ref:`float<class_float>` size **)** |
- +---------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Enumerations
- ------------
- .. _enum_StyleBoxTexture_AxisStretchMode:
- .. rst-class:: classref-enumeration
- enum **AxisStretchMode**:
- .. _class_StyleBoxTexture_constant_AXIS_STRETCH_MODE_STRETCH:
- .. rst-class:: classref-enumeration-constant
- :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **AXIS_STRETCH_MODE_STRETCH** = ``0``
- Stretch the stylebox's texture. This results in visible distortion unless the texture size matches the stylebox's size perfectly.
- .. _class_StyleBoxTexture_constant_AXIS_STRETCH_MODE_TILE:
- .. rst-class:: classref-enumeration-constant
- :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **AXIS_STRETCH_MODE_TILE** = ``1``
- Repeats the stylebox's texture to match the stylebox's size according to the nine-patch system.
- .. _class_StyleBoxTexture_constant_AXIS_STRETCH_MODE_TILE_FIT:
- .. rst-class:: classref-enumeration-constant
- :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **AXIS_STRETCH_MODE_TILE_FIT** = ``2``
- Repeats the stylebox's texture to match the stylebox's size according to the nine-patch system. Unlike :ref:`AXIS_STRETCH_MODE_TILE<class_StyleBoxTexture_constant_AXIS_STRETCH_MODE_TILE>`, the texture may be slightly stretched to make the nine-patch texture tile seamlessly.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Property Descriptions
- ---------------------
- .. _class_StyleBoxTexture_property_axis_stretch_horizontal:
- .. rst-class:: classref-property
- :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **axis_stretch_horizontal** = ``0``
- .. rst-class:: classref-property-setget
- - void **set_h_axis_stretch_mode** **(** :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` value **)**
- - :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **get_h_axis_stretch_mode** **(** **)**
- Controls how the stylebox's texture will be stretched or tiled horizontally. See :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` for possible values.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_property_axis_stretch_vertical:
- .. rst-class:: classref-property
- :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **axis_stretch_vertical** = ``0``
- .. rst-class:: classref-property-setget
- - void **set_v_axis_stretch_mode** **(** :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` value **)**
- - :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` **get_v_axis_stretch_mode** **(** **)**
- Controls how the stylebox's texture will be stretched or tiled vertically. See :ref:`AxisStretchMode<enum_StyleBoxTexture_AxisStretchMode>` for possible values.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_property_draw_center:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **draw_center** = ``true``
- .. rst-class:: classref-property-setget
- - void **set_draw_center** **(** :ref:`bool<class_bool>` value **)**
- - :ref:`bool<class_bool>` **is_draw_center_enabled** **(** **)**
- If ``true``, the nine-patch texture's center tile will be drawn.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_property_expand_margin_bottom:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **expand_margin_bottom** = ``0.0``
- .. rst-class:: classref-property-setget
- - void **set_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
- - :ref:`float<class_float>` **get_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
- Expands the bottom margin of this style box when drawing, causing it to be drawn larger than requested.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_property_expand_margin_left:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **expand_margin_left** = ``0.0``
- .. rst-class:: classref-property-setget
- - void **set_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
- - :ref:`float<class_float>` **get_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
- Expands the left margin of this style box when drawing, causing it to be drawn larger than requested.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_property_expand_margin_right:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **expand_margin_right** = ``0.0``
- .. rst-class:: classref-property-setget
- - void **set_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
- - :ref:`float<class_float>` **get_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
- Expands the right margin of this style box when drawing, causing it to be drawn larger than requested.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_property_expand_margin_top:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **expand_margin_top** = ``0.0``
- .. rst-class:: classref-property-setget
- - void **set_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
- - :ref:`float<class_float>` **get_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
- Expands the top margin of this style box when drawing, causing it to be drawn larger than requested.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_property_modulate_color:
- .. rst-class:: classref-property
- :ref:`Color<class_Color>` **modulate_color** = ``Color(1, 1, 1, 1)``
- .. rst-class:: classref-property-setget
- - void **set_modulate** **(** :ref:`Color<class_Color>` value **)**
- - :ref:`Color<class_Color>` **get_modulate** **(** **)**
- Modulates the color of the texture when this style box is drawn.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_property_region_rect:
- .. rst-class:: classref-property
- :ref:`Rect2<class_Rect2>` **region_rect** = ``Rect2(0, 0, 0, 0)``
- .. rst-class:: classref-property-setget
- - void **set_region_rect** **(** :ref:`Rect2<class_Rect2>` value **)**
- - :ref:`Rect2<class_Rect2>` **get_region_rect** **(** **)**
- Species a sub-region of the texture to use.
- This is equivalent to first wrapping the texture in an :ref:`AtlasTexture<class_AtlasTexture>` with the same region.
- If empty (``Rect2(0, 0, 0, 0)``), the whole texture will be used.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_property_texture:
- .. rst-class:: classref-property
- :ref:`Texture2D<class_Texture2D>` **texture**
- .. rst-class:: classref-property-setget
- - void **set_texture** **(** :ref:`Texture2D<class_Texture2D>` value **)**
- - :ref:`Texture2D<class_Texture2D>` **get_texture** **(** **)**
- The texture to use when drawing this style box.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_property_texture_margin_bottom:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **texture_margin_bottom** = ``0.0``
- .. rst-class:: classref-property-setget
- - void **set_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
- - :ref:`float<class_float>` **get_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
- Increases the bottom margin of the 3×3 texture box.
- A higher value means more of the source texture is considered to be part of the bottom border of the 3×3 box.
- This is also the value used as fallback for :ref:`StyleBox.content_margin_bottom<class_StyleBox_property_content_margin_bottom>` if it is negative.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_property_texture_margin_left:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **texture_margin_left** = ``0.0``
- .. rst-class:: classref-property-setget
- - void **set_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
- - :ref:`float<class_float>` **get_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
- Increases the left margin of the 3×3 texture box.
- A higher value means more of the source texture is considered to be part of the left border of the 3×3 box.
- This is also the value used as fallback for :ref:`StyleBox.content_margin_left<class_StyleBox_property_content_margin_left>` if it is negative.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_property_texture_margin_right:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **texture_margin_right** = ``0.0``
- .. rst-class:: classref-property-setget
- - void **set_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
- - :ref:`float<class_float>` **get_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
- Increases the right margin of the 3×3 texture box.
- A higher value means more of the source texture is considered to be part of the right border of the 3×3 box.
- This is also the value used as fallback for :ref:`StyleBox.content_margin_right<class_StyleBox_property_content_margin_right>` if it is negative.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_property_texture_margin_top:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **texture_margin_top** = ``0.0``
- .. rst-class:: classref-property-setget
- - void **set_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
- - :ref:`float<class_float>` **get_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
- Increases the top margin of the 3×3 texture box.
- A higher value means more of the source texture is considered to be part of the top border of the 3×3 box.
- This is also the value used as fallback for :ref:`StyleBox.content_margin_top<class_StyleBox_property_content_margin_top>` if it is negative.
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Method Descriptions
- -------------------
- .. _class_StyleBoxTexture_method_get_expand_margin:
- .. rst-class:: classref-method
- :ref:`float<class_float>` **get_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
- Returns the expand margin size of the specified :ref:`Side<enum_@GlobalScope_Side>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_method_get_texture_margin:
- .. rst-class:: classref-method
- :ref:`float<class_float>` **get_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin **)** |const|
- Returns the margin size of the specified :ref:`Side<enum_@GlobalScope_Side>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_method_set_expand_margin:
- .. rst-class:: classref-method
- void **set_expand_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
- Sets the expand margin to ``size`` pixels for the specified :ref:`Side<enum_@GlobalScope_Side>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_method_set_expand_margin_all:
- .. rst-class:: classref-method
- void **set_expand_margin_all** **(** :ref:`float<class_float>` size **)**
- Sets the expand margin to ``size`` pixels for all sides.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_method_set_texture_margin:
- .. rst-class:: classref-method
- void **set_texture_margin** **(** :ref:`Side<enum_@GlobalScope_Side>` margin, :ref:`float<class_float>` size **)**
- Sets the margin to ``size`` pixels for the specified :ref:`Side<enum_@GlobalScope_Side>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_StyleBoxTexture_method_set_texture_margin_all:
- .. rst-class:: classref-method
- void **set_texture_margin_all** **(** :ref:`float<class_float>` size **)**
- Sets the margin to ``size`` pixels for all sides.
- .. |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.)`
- .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
- .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
- .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
- .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
|