NinePatchRect.xml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <class name="NinePatchRect" inherits="Control" category="Core" version="3.1">
  3. <brief_description>
  4. Scalable texture-based frame that tiles the texture's centers and sides, but keeps the corners' original size. Perfect for panels and dialog boxes.
  5. </brief_description>
  6. <description>
  7. 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.
  8. </description>
  9. <tutorials>
  10. </tutorials>
  11. <demos>
  12. </demos>
  13. <methods>
  14. </methods>
  15. <members>
  16. <member name="axis_stretch_horizontal" type="int" setter="set_h_axis_stretch_mode" getter="get_h_axis_stretch_mode" enum="NinePatchRect.AxisStretchMode">
  17. Doesn't do anything at the time of writing.
  18. </member>
  19. <member name="axis_stretch_vertical" type="int" setter="set_v_axis_stretch_mode" getter="get_v_axis_stretch_mode" enum="NinePatchRect.AxisStretchMode">
  20. Doesn't do anything at the time of writing.
  21. </member>
  22. <member name="draw_center" type="bool" setter="set_draw_center" getter="is_draw_center_enabled">
  23. If [code]true[/code], draw the panel's center. Else, only draw the 9-slice's borders. Default value: [code]true[/code]
  24. </member>
  25. <member name="patch_margin_bottom" type="int" setter="set_patch_margin" getter="get_patch_margin">
  26. 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.
  27. </member>
  28. <member name="patch_margin_left" type="int" setter="set_patch_margin" getter="get_patch_margin">
  29. The height of the 9-slice's left column.
  30. </member>
  31. <member name="patch_margin_right" type="int" setter="set_patch_margin" getter="get_patch_margin">
  32. The height of the 9-slice's right column.
  33. </member>
  34. <member name="patch_margin_top" type="int" setter="set_patch_margin" getter="get_patch_margin">
  35. The height of the 9-slice's top row.
  36. </member>
  37. <member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect">
  38. 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.
  39. </member>
  40. <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
  41. The node's texture resource.
  42. </member>
  43. </members>
  44. <signals>
  45. <signal name="texture_changed">
  46. <description>
  47. Fired when the node's texture changes.
  48. </description>
  49. </signal>
  50. </signals>
  51. <constants>
  52. <constant name="AXIS_STRETCH_MODE_STRETCH" value="0" enum="AxisStretchMode">
  53. Doesn't do anything at the time of writing. Default value for [code]axis_stretch_horizontal[/code] and [code]axis_stretch_vertical[/code].
  54. </constant>
  55. <constant name="AXIS_STRETCH_MODE_TILE" value="1" enum="AxisStretchMode">
  56. Doesn't do anything at the time of writing.
  57. </constant>
  58. <constant name="AXIS_STRETCH_MODE_TILE_FIT" value="2" enum="AxisStretchMode">
  59. Doesn't do anything at the time of writing.
  60. </constant>
  61. </constants>
  62. </class>