TextureProgress.xml 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <class name="TextureProgress" inherits="Range" version="3.2">
  3. <brief_description>
  4. Texture-based progress bar. Useful for loading screens and life or stamina bars.
  5. </brief_description>
  6. <description>
  7. TextureProgress works like [ProgressBar], but uses up to 3 textures instead of Godot's [Theme] resource. It can be used to create horizontal, vertical and radial progress bars.
  8. </description>
  9. <tutorials>
  10. </tutorials>
  11. <methods>
  12. <method name="get_stretch_margin" qualifiers="const">
  13. <return type="int">
  14. </return>
  15. <argument index="0" name="margin" type="int" enum="Margin">
  16. </argument>
  17. <description>
  18. </description>
  19. </method>
  20. <method name="set_stretch_margin">
  21. <return type="void">
  22. </return>
  23. <argument index="0" name="margin" type="int" enum="Margin">
  24. </argument>
  25. <argument index="1" name="value" type="int">
  26. </argument>
  27. <description>
  28. </description>
  29. </method>
  30. </methods>
  31. <members>
  32. <member name="fill_mode" type="int" setter="set_fill_mode" getter="get_fill_mode" default="0">
  33. The fill direction. See [enum FillMode] for possible values.
  34. </member>
  35. <member name="mouse_filter" type="int" setter="set_mouse_filter" getter="get_mouse_filter" override="true" enum="Control.MouseFilter" default="1" />
  36. <member name="nine_patch_stretch" type="bool" setter="set_nine_patch_stretch" getter="get_nine_patch_stretch" default="false">
  37. If [code]true[/code], Godot treats the bar's textures like in [NinePatchRect]. Use the [code]stretch_margin_*[/code] properties like [member stretch_margin_bottom] to set up the nine patch's 3×3 grid. When using a radial [member fill_mode], this setting will enable stretching.
  38. </member>
  39. <member name="radial_center_offset" type="Vector2" setter="set_radial_center_offset" getter="get_radial_center_offset" default="Vector2( 0, 0 )">
  40. Offsets [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE].
  41. </member>
  42. <member name="radial_fill_degrees" type="float" setter="set_fill_degrees" getter="get_fill_degrees" default="360.0">
  43. Upper limit for the fill of [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE]. When the node's [code]value[/code] is equal to its [code]max_value[/code], the texture fills up to this angle.
  44. See [member Range.value], [member Range.max_value].
  45. </member>
  46. <member name="radial_initial_angle" type="float" setter="set_radial_initial_angle" getter="get_radial_initial_angle" default="0.0">
  47. Starting angle for the fill of [member texture_progress] if [member fill_mode] is [constant FILL_CLOCKWISE] or [constant FILL_COUNTER_CLOCKWISE]. When the node's [code]value[/code] is equal to its [code]min_value[/code], the texture doesn't show up at all. When the [code]value[/code] increases, the texture fills and tends towards [member radial_fill_degrees].
  48. </member>
  49. <member name="stretch_margin_bottom" type="int" setter="set_stretch_margin" getter="get_stretch_margin" default="0">
  50. The height of the 9-patch'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.
  51. </member>
  52. <member name="stretch_margin_left" type="int" setter="set_stretch_margin" getter="get_stretch_margin" default="0">
  53. The width of the 9-patch's left column.
  54. </member>
  55. <member name="stretch_margin_right" type="int" setter="set_stretch_margin" getter="get_stretch_margin" default="0">
  56. The width of the 9-patch's right column.
  57. </member>
  58. <member name="stretch_margin_top" type="int" setter="set_stretch_margin" getter="get_stretch_margin" default="0">
  59. The height of the 9-patch's top row.
  60. </member>
  61. <member name="texture_over" type="Texture" setter="set_over_texture" getter="get_over_texture">
  62. [Texture] that draws over the progress bar. Use it to add highlights or an upper-frame that hides part of [member texture_progress].
  63. </member>
  64. <member name="texture_progress" type="Texture" setter="set_progress_texture" getter="get_progress_texture">
  65. [Texture] that clips based on the node's [code]value[/code] and [member fill_mode]. As [code]value[/code] increased, the texture fills up. It shows entirely when [code]value[/code] reaches [code]max_value[/code]. It doesn't show at all if [code]value[/code] is equal to [code]min_value[/code].
  66. The [code]value[/code] property comes from [Range]. See [member Range.value], [member Range.min_value], [member Range.max_value].
  67. </member>
  68. <member name="texture_under" type="Texture" setter="set_under_texture" getter="get_under_texture">
  69. [Texture] that draws under the progress bar. The bar's background.
  70. </member>
  71. <member name="tint_over" type="Color" setter="set_tint_over" getter="get_tint_over" default="Color( 1, 1, 1, 1 )">
  72. Multiplies the color of the bar's [code]texture_over[/code] texture. The effect is similar to [member CanvasItem.modulate], except it only affects this specific texture instead of the entire node.
  73. </member>
  74. <member name="tint_progress" type="Color" setter="set_tint_progress" getter="get_tint_progress" default="Color( 1, 1, 1, 1 )">
  75. Multiplies the color of the bar's [code]texture_progress[/code] texture.
  76. </member>
  77. <member name="tint_under" type="Color" setter="set_tint_under" getter="get_tint_under" default="Color( 1, 1, 1, 1 )">
  78. Multiplies the color of the bar's [code]texture_under[/code] texture.
  79. </member>
  80. </members>
  81. <constants>
  82. <constant name="FILL_LEFT_TO_RIGHT" value="0" enum="FillMode">
  83. The [member texture_progress] fills from left to right.
  84. </constant>
  85. <constant name="FILL_RIGHT_TO_LEFT" value="1" enum="FillMode">
  86. The [member texture_progress] fills from right to left.
  87. </constant>
  88. <constant name="FILL_TOP_TO_BOTTOM" value="2" enum="FillMode">
  89. The [member texture_progress] fills from top to bottom.
  90. </constant>
  91. <constant name="FILL_BOTTOM_TO_TOP" value="3" enum="FillMode">
  92. The [member texture_progress] fills from bottom to top.
  93. </constant>
  94. <constant name="FILL_CLOCKWISE" value="4" enum="FillMode">
  95. Turns the node into a radial bar. The [member texture_progress] fills clockwise. See [member radial_center_offset], [member radial_initial_angle] and [member radial_fill_degrees] to control the way the bar fills up.
  96. </constant>
  97. <constant name="FILL_COUNTER_CLOCKWISE" value="5" enum="FillMode">
  98. Turns the node into a radial bar. The [member texture_progress] fills counterclockwise. See [member radial_center_offset], [member radial_initial_angle] and [member radial_fill_degrees] to control the way the bar fills up.
  99. </constant>
  100. <constant name="FILL_BILINEAR_LEFT_AND_RIGHT" value="6" enum="FillMode">
  101. The [member texture_progress] fills from the center, expanding both towards the left and the right.
  102. </constant>
  103. <constant name="FILL_BILINEAR_TOP_AND_BOTTOM" value="7" enum="FillMode">
  104. The [member texture_progress] fills from the center, expanding both towards the top and the bottom.
  105. </constant>
  106. <constant name="FILL_CLOCKWISE_AND_COUNTER_CLOCKWISE" value="8" enum="FillMode">
  107. Turns the node into a radial bar. The [member texture_progress] fills radially from the center, expanding both clockwise and counterclockwise. See [member radial_center_offset], [member radial_initial_angle] and [member radial_fill_degrees] to control the way the bar fills up.
  108. </constant>
  109. </constants>
  110. </class>