class_ninepatchrect.rst 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. .. Generated automatically by doc/tools/makerst.py in Godot's source tree.
  2. .. DO NOT EDIT THIS FILE, but the NinePatchRect.xml source instead.
  3. .. The source is found in doc/classes or modules/<name>/doc_classes.
  4. .. _class_NinePatchRect:
  5. NinePatchRect
  6. =============
  7. **Inherits:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  8. **Category:** Core
  9. Brief Description
  10. -----------------
  11. Scalable texture-based frame that tiles the texture's centers and sides, but keeps the corners' original size. Perfect for panels and dialog boxes.
  12. Properties
  13. ----------
  14. +------------------------------------------------------------+--------------------------------------------------------------------------------------+
  15. | :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` | :ref:`axis_stretch_horizontal<class_NinePatchRect_property_axis_stretch_horizontal>` |
  16. +------------------------------------------------------------+--------------------------------------------------------------------------------------+
  17. | :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` | :ref:`axis_stretch_vertical<class_NinePatchRect_property_axis_stretch_vertical>` |
  18. +------------------------------------------------------------+--------------------------------------------------------------------------------------+
  19. | :ref:`bool<class_bool>` | :ref:`draw_center<class_NinePatchRect_property_draw_center>` |
  20. +------------------------------------------------------------+--------------------------------------------------------------------------------------+
  21. | :ref:`int<class_int>` | :ref:`patch_margin_bottom<class_NinePatchRect_property_patch_margin_bottom>` |
  22. +------------------------------------------------------------+--------------------------------------------------------------------------------------+
  23. | :ref:`int<class_int>` | :ref:`patch_margin_left<class_NinePatchRect_property_patch_margin_left>` |
  24. +------------------------------------------------------------+--------------------------------------------------------------------------------------+
  25. | :ref:`int<class_int>` | :ref:`patch_margin_right<class_NinePatchRect_property_patch_margin_right>` |
  26. +------------------------------------------------------------+--------------------------------------------------------------------------------------+
  27. | :ref:`int<class_int>` | :ref:`patch_margin_top<class_NinePatchRect_property_patch_margin_top>` |
  28. +------------------------------------------------------------+--------------------------------------------------------------------------------------+
  29. | :ref:`Rect2<class_Rect2>` | :ref:`region_rect<class_NinePatchRect_property_region_rect>` |
  30. +------------------------------------------------------------+--------------------------------------------------------------------------------------+
  31. | :ref:`Texture<class_Texture>` | :ref:`texture<class_NinePatchRect_property_texture>` |
  32. +------------------------------------------------------------+--------------------------------------------------------------------------------------+
  33. Signals
  34. -------
  35. .. _class_NinePatchRect_signal_texture_changed:
  36. - **texture_changed** **(** **)**
  37. Fired when the node's texture changes.
  38. Enumerations
  39. ------------
  40. .. _enum_NinePatchRect_AxisStretchMode:
  41. .. _class_NinePatchRect_constant_AXIS_STRETCH_MODE_STRETCH:
  42. .. _class_NinePatchRect_constant_AXIS_STRETCH_MODE_TILE:
  43. .. _class_NinePatchRect_constant_AXIS_STRETCH_MODE_TILE_FIT:
  44. enum **AxisStretchMode**:
  45. - **AXIS_STRETCH_MODE_STRETCH** = **0** --- Doesn't do anything at the time of writing. Default value for ``axis_stretch_horizontal`` and ``axis_stretch_vertical``.
  46. - **AXIS_STRETCH_MODE_TILE** = **1** --- Doesn't do anything at the time of writing.
  47. - **AXIS_STRETCH_MODE_TILE_FIT** = **2** --- Doesn't do anything at the time of writing.
  48. Description
  49. -----------
  50. Better known as 9-slice panels, NinePatchRect produces clean panels of any size, based on a small texture. To do so, it splits the texture in a 3 by 3 grid. When you scale the node, it tiles the texture's sides horizontally or vertically, the center on both axes but it doesn't scale or tile the corners.
  51. Property Descriptions
  52. ---------------------
  53. .. _class_NinePatchRect_property_axis_stretch_horizontal:
  54. - :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` **axis_stretch_horizontal**
  55. +----------+--------------------------------+
  56. | *Setter* | set_h_axis_stretch_mode(value) |
  57. +----------+--------------------------------+
  58. | *Getter* | get_h_axis_stretch_mode() |
  59. +----------+--------------------------------+
  60. Doesn't do anything at the time of writing.
  61. .. _class_NinePatchRect_property_axis_stretch_vertical:
  62. - :ref:`AxisStretchMode<enum_NinePatchRect_AxisStretchMode>` **axis_stretch_vertical**
  63. +----------+--------------------------------+
  64. | *Setter* | set_v_axis_stretch_mode(value) |
  65. +----------+--------------------------------+
  66. | *Getter* | get_v_axis_stretch_mode() |
  67. +----------+--------------------------------+
  68. Doesn't do anything at the time of writing.
  69. .. _class_NinePatchRect_property_draw_center:
  70. - :ref:`bool<class_bool>` **draw_center**
  71. +----------+--------------------------+
  72. | *Setter* | set_draw_center(value) |
  73. +----------+--------------------------+
  74. | *Getter* | is_draw_center_enabled() |
  75. +----------+--------------------------+
  76. If ``true``, draw the panel's center. Else, only draw the 9-slice's borders. Default value: ``true``
  77. .. _class_NinePatchRect_property_patch_margin_bottom:
  78. - :ref:`int<class_int>` **patch_margin_bottom**
  79. +----------+-------------------------+
  80. | *Setter* | set_patch_margin(value) |
  81. +----------+-------------------------+
  82. | *Getter* | get_patch_margin() |
  83. +----------+-------------------------+
  84. The height of the 9-slice's bottom row. A margin of 16 means the 9-slice's bottom corners and side will have a height of 16 pixels. You can set all 4 margin values individually to create panels with non-uniform borders.
  85. .. _class_NinePatchRect_property_patch_margin_left:
  86. - :ref:`int<class_int>` **patch_margin_left**
  87. +----------+-------------------------+
  88. | *Setter* | set_patch_margin(value) |
  89. +----------+-------------------------+
  90. | *Getter* | get_patch_margin() |
  91. +----------+-------------------------+
  92. The height of the 9-slice's left column.
  93. .. _class_NinePatchRect_property_patch_margin_right:
  94. - :ref:`int<class_int>` **patch_margin_right**
  95. +----------+-------------------------+
  96. | *Setter* | set_patch_margin(value) |
  97. +----------+-------------------------+
  98. | *Getter* | get_patch_margin() |
  99. +----------+-------------------------+
  100. The height of the 9-slice's right column.
  101. .. _class_NinePatchRect_property_patch_margin_top:
  102. - :ref:`int<class_int>` **patch_margin_top**
  103. +----------+-------------------------+
  104. | *Setter* | set_patch_margin(value) |
  105. +----------+-------------------------+
  106. | *Getter* | get_patch_margin() |
  107. +----------+-------------------------+
  108. The height of the 9-slice's top row.
  109. .. _class_NinePatchRect_property_region_rect:
  110. - :ref:`Rect2<class_Rect2>` **region_rect**
  111. +----------+------------------------+
  112. | *Setter* | set_region_rect(value) |
  113. +----------+------------------------+
  114. | *Getter* | get_region_rect() |
  115. +----------+------------------------+
  116. Rectangular region of the texture to sample from. If you're working with an atlas, use this property to define the area the 9-slice should use. All other properties are relative to this one.
  117. .. _class_NinePatchRect_property_texture:
  118. - :ref:`Texture<class_Texture>` **texture**
  119. +----------+--------------------+
  120. | *Setter* | set_texture(value) |
  121. +----------+--------------------+
  122. | *Getter* | get_texture() |
  123. +----------+--------------------+
  124. The node's texture resource.