class_colorpicker.rst 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the ColorPicker.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_ColorPicker:
  6. ColorPicker
  7. ===========
  8. **Inherits:** :ref:`BoxContainer<class_BoxContainer>` **<** :ref:`Container<class_Container>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
  9. Color picker control.
  10. Description
  11. -----------
  12. Displays a color picker widget. Useful for selecting a color from an RGB/RGBA colorspace.
  13. \ **Note:** This control is the color picker widget itself. You can use a :ref:`ColorPickerButton<class_ColorPickerButton>` instead if you need a button that brings up a ``ColorPicker`` in a pop-up.
  14. Tutorials
  15. ---------
  16. - `Tween Demo <https://godotengine.org/asset-library/asset/146>`__
  17. Properties
  18. ----------
  19. +----------------------------------------------------------+--------------------------------------------------------------------+-----------------------+
  20. | :ref:`Color<class_Color>` | :ref:`color<class_ColorPicker_property_color>` | ``Color(1, 1, 1, 1)`` |
  21. +----------------------------------------------------------+--------------------------------------------------------------------+-----------------------+
  22. | :ref:`bool<class_bool>` | :ref:`deferred_mode<class_ColorPicker_property_deferred_mode>` | ``false`` |
  23. +----------------------------------------------------------+--------------------------------------------------------------------+-----------------------+
  24. | :ref:`bool<class_bool>` | :ref:`edit_alpha<class_ColorPicker_property_edit_alpha>` | ``true`` |
  25. +----------------------------------------------------------+--------------------------------------------------------------------+-----------------------+
  26. | :ref:`bool<class_bool>` | :ref:`hsv_mode<class_ColorPicker_property_hsv_mode>` | ``false`` |
  27. +----------------------------------------------------------+--------------------------------------------------------------------+-----------------------+
  28. | :ref:`PickerShapeType<enum_ColorPicker_PickerShapeType>` | :ref:`picker_shape<class_ColorPicker_property_picker_shape>` | ``0`` |
  29. +----------------------------------------------------------+--------------------------------------------------------------------+-----------------------+
  30. | :ref:`bool<class_bool>` | :ref:`presets_enabled<class_ColorPicker_property_presets_enabled>` | ``true`` |
  31. +----------------------------------------------------------+--------------------------------------------------------------------+-----------------------+
  32. | :ref:`bool<class_bool>` | :ref:`presets_visible<class_ColorPicker_property_presets_visible>` | ``true`` |
  33. +----------------------------------------------------------+--------------------------------------------------------------------+-----------------------+
  34. | :ref:`bool<class_bool>` | :ref:`raw_mode<class_ColorPicker_property_raw_mode>` | ``false`` |
  35. +----------------------------------------------------------+--------------------------------------------------------------------+-----------------------+
  36. Methods
  37. -------
  38. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------+
  39. | void | :ref:`add_preset<class_ColorPicker_method_add_preset>` **(** :ref:`Color<class_Color>` color **)** |
  40. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------+
  41. | void | :ref:`erase_preset<class_ColorPicker_method_erase_preset>` **(** :ref:`Color<class_Color>` color **)** |
  42. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------+
  43. | :ref:`PackedColorArray<class_PackedColorArray>` | :ref:`get_presets<class_ColorPicker_method_get_presets>` **(** **)** |const| |
  44. +-------------------------------------------------+--------------------------------------------------------------------------------------------------------+
  45. Theme Properties
  46. ----------------
  47. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  48. | :ref:`int<class_int>` | :ref:`h_width<class_ColorPicker_theme_constant_h_width>` | ``30`` |
  49. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  50. | :ref:`int<class_int>` | :ref:`label_width<class_ColorPicker_theme_constant_label_width>` | ``10`` |
  51. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  52. | :ref:`int<class_int>` | :ref:`margin<class_ColorPicker_theme_constant_margin>` | ``4`` |
  53. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  54. | :ref:`int<class_int>` | :ref:`sv_height<class_ColorPicker_theme_constant_sv_height>` | ``256`` |
  55. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  56. | :ref:`int<class_int>` | :ref:`sv_width<class_ColorPicker_theme_constant_sv_width>` | ``256`` |
  57. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  58. | :ref:`Texture2D<class_Texture2D>` | :ref:`add_preset<class_ColorPicker_theme_icon_add_preset>` | |
  59. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  60. | :ref:`Texture2D<class_Texture2D>` | :ref:`bar_arrow<class_ColorPicker_theme_icon_bar_arrow>` | |
  61. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  62. | :ref:`Texture2D<class_Texture2D>` | :ref:`color_hue<class_ColorPicker_theme_icon_color_hue>` | |
  63. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  64. | :ref:`Texture2D<class_Texture2D>` | :ref:`overbright_indicator<class_ColorPicker_theme_icon_overbright_indicator>` | |
  65. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  66. | :ref:`Texture2D<class_Texture2D>` | :ref:`picker_cursor<class_ColorPicker_theme_icon_picker_cursor>` | |
  67. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  68. | :ref:`Texture2D<class_Texture2D>` | :ref:`sample_bg<class_ColorPicker_theme_icon_sample_bg>` | |
  69. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  70. | :ref:`Texture2D<class_Texture2D>` | :ref:`screen_picker<class_ColorPicker_theme_icon_screen_picker>` | |
  71. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  72. Signals
  73. -------
  74. .. _class_ColorPicker_signal_color_changed:
  75. - **color_changed** **(** :ref:`Color<class_Color>` color **)**
  76. Emitted when the color is changed.
  77. ----
  78. .. _class_ColorPicker_signal_preset_added:
  79. - **preset_added** **(** :ref:`Color<class_Color>` color **)**
  80. Emitted when a preset is added.
  81. ----
  82. .. _class_ColorPicker_signal_preset_removed:
  83. - **preset_removed** **(** :ref:`Color<class_Color>` color **)**
  84. Emitted when a preset is removed.
  85. Enumerations
  86. ------------
  87. .. _enum_ColorPicker_PickerShapeType:
  88. .. _class_ColorPicker_constant_SHAPE_HSV_RECTANGLE:
  89. .. _class_ColorPicker_constant_SHAPE_HSV_WHEEL:
  90. .. _class_ColorPicker_constant_SHAPE_VHS_CIRCLE:
  91. enum **PickerShapeType**:
  92. - **SHAPE_HSV_RECTANGLE** = **0** --- HSV Color Model rectangle color space.
  93. - **SHAPE_HSV_WHEEL** = **1** --- HSV Color Model rectangle color space with a wheel.
  94. - **SHAPE_VHS_CIRCLE** = **2** --- HSV Color Model circle color space. Use Saturation as a radius.
  95. Property Descriptions
  96. ---------------------
  97. .. _class_ColorPicker_property_color:
  98. - :ref:`Color<class_Color>` **color**
  99. +-----------+-----------------------+
  100. | *Default* | ``Color(1, 1, 1, 1)`` |
  101. +-----------+-----------------------+
  102. | *Setter* | set_pick_color(value) |
  103. +-----------+-----------------------+
  104. | *Getter* | get_pick_color() |
  105. +-----------+-----------------------+
  106. The currently selected color.
  107. ----
  108. .. _class_ColorPicker_property_deferred_mode:
  109. - :ref:`bool<class_bool>` **deferred_mode**
  110. +-----------+--------------------------+
  111. | *Default* | ``false`` |
  112. +-----------+--------------------------+
  113. | *Setter* | set_deferred_mode(value) |
  114. +-----------+--------------------------+
  115. | *Getter* | is_deferred_mode() |
  116. +-----------+--------------------------+
  117. If ``true``, the color will apply only after the user releases the mouse button, otherwise it will apply immediately even in mouse motion event (which can cause performance issues).
  118. ----
  119. .. _class_ColorPicker_property_edit_alpha:
  120. - :ref:`bool<class_bool>` **edit_alpha**
  121. +-----------+-----------------------+
  122. | *Default* | ``true`` |
  123. +-----------+-----------------------+
  124. | *Setter* | set_edit_alpha(value) |
  125. +-----------+-----------------------+
  126. | *Getter* | is_editing_alpha() |
  127. +-----------+-----------------------+
  128. If ``true``, shows an alpha channel slider (opacity).
  129. ----
  130. .. _class_ColorPicker_property_hsv_mode:
  131. - :ref:`bool<class_bool>` **hsv_mode**
  132. +-----------+---------------------+
  133. | *Default* | ``false`` |
  134. +-----------+---------------------+
  135. | *Setter* | set_hsv_mode(value) |
  136. +-----------+---------------------+
  137. | *Getter* | is_hsv_mode() |
  138. +-----------+---------------------+
  139. If ``true``, allows editing the color with Hue/Saturation/Value sliders.
  140. \ **Note:** Cannot be enabled if raw mode is on.
  141. ----
  142. .. _class_ColorPicker_property_picker_shape:
  143. - :ref:`PickerShapeType<enum_ColorPicker_PickerShapeType>` **picker_shape**
  144. +-----------+-------------------------+
  145. | *Default* | ``0`` |
  146. +-----------+-------------------------+
  147. | *Setter* | set_picker_shape(value) |
  148. +-----------+-------------------------+
  149. | *Getter* | get_picker_shape() |
  150. +-----------+-------------------------+
  151. The shape of the color space view. See :ref:`PickerShapeType<enum_ColorPicker_PickerShapeType>`.
  152. ----
  153. .. _class_ColorPicker_property_presets_enabled:
  154. - :ref:`bool<class_bool>` **presets_enabled**
  155. +-----------+----------------------------+
  156. | *Default* | ``true`` |
  157. +-----------+----------------------------+
  158. | *Setter* | set_presets_enabled(value) |
  159. +-----------+----------------------------+
  160. | *Getter* | are_presets_enabled() |
  161. +-----------+----------------------------+
  162. If ``true``, the "add preset" button is enabled.
  163. ----
  164. .. _class_ColorPicker_property_presets_visible:
  165. - :ref:`bool<class_bool>` **presets_visible**
  166. +-----------+----------------------------+
  167. | *Default* | ``true`` |
  168. +-----------+----------------------------+
  169. | *Setter* | set_presets_visible(value) |
  170. +-----------+----------------------------+
  171. | *Getter* | are_presets_visible() |
  172. +-----------+----------------------------+
  173. If ``true``, saved color presets are visible.
  174. ----
  175. .. _class_ColorPicker_property_raw_mode:
  176. - :ref:`bool<class_bool>` **raw_mode**
  177. +-----------+---------------------+
  178. | *Default* | ``false`` |
  179. +-----------+---------------------+
  180. | *Setter* | set_raw_mode(value) |
  181. +-----------+---------------------+
  182. | *Getter* | is_raw_mode() |
  183. +-----------+---------------------+
  184. If ``true``, allows the color R, G, B component values to go beyond 1.0, which can be used for certain special operations that require it (like tinting without darkening or rendering sprites in HDR).
  185. \ **Note:** Cannot be enabled if HSV mode is on.
  186. Method Descriptions
  187. -------------------
  188. .. _class_ColorPicker_method_add_preset:
  189. - void **add_preset** **(** :ref:`Color<class_Color>` color **)**
  190. Adds the given color to a list of color presets. The presets are displayed in the color picker and the user will be able to select them.
  191. \ **Note:** The presets list is only for *this* color picker.
  192. ----
  193. .. _class_ColorPicker_method_erase_preset:
  194. - void **erase_preset** **(** :ref:`Color<class_Color>` color **)**
  195. Removes the given color from the list of color presets of this color picker.
  196. ----
  197. .. _class_ColorPicker_method_get_presets:
  198. - :ref:`PackedColorArray<class_PackedColorArray>` **get_presets** **(** **)** |const|
  199. Returns the list of colors in the presets of the color picker.
  200. Theme Property Descriptions
  201. ---------------------------
  202. .. _class_ColorPicker_theme_constant_h_width:
  203. - :ref:`int<class_int>` **h_width**
  204. +-----------+--------+
  205. | *Default* | ``30`` |
  206. +-----------+--------+
  207. The width of the hue selection slider.
  208. ----
  209. .. _class_ColorPicker_theme_constant_label_width:
  210. - :ref:`int<class_int>` **label_width**
  211. +-----------+--------+
  212. | *Default* | ``10`` |
  213. +-----------+--------+
  214. ----
  215. .. _class_ColorPicker_theme_constant_margin:
  216. - :ref:`int<class_int>` **margin**
  217. +-----------+-------+
  218. | *Default* | ``4`` |
  219. +-----------+-------+
  220. The margin around the ``ColorPicker``.
  221. ----
  222. .. _class_ColorPicker_theme_constant_sv_height:
  223. - :ref:`int<class_int>` **sv_height**
  224. +-----------+---------+
  225. | *Default* | ``256`` |
  226. +-----------+---------+
  227. The height of the saturation-value selection box.
  228. ----
  229. .. _class_ColorPicker_theme_constant_sv_width:
  230. - :ref:`int<class_int>` **sv_width**
  231. +-----------+---------+
  232. | *Default* | ``256`` |
  233. +-----------+---------+
  234. The width of the saturation-value selection box.
  235. ----
  236. .. _class_ColorPicker_theme_icon_add_preset:
  237. - :ref:`Texture2D<class_Texture2D>` **add_preset**
  238. The icon for the "Add Preset" button.
  239. ----
  240. .. _class_ColorPicker_theme_icon_bar_arrow:
  241. - :ref:`Texture2D<class_Texture2D>` **bar_arrow**
  242. The texture for the arrow grabber.
  243. ----
  244. .. _class_ColorPicker_theme_icon_color_hue:
  245. - :ref:`Texture2D<class_Texture2D>` **color_hue**
  246. Custom texture for the hue selection slider on the right.
  247. ----
  248. .. _class_ColorPicker_theme_icon_overbright_indicator:
  249. - :ref:`Texture2D<class_Texture2D>` **overbright_indicator**
  250. The indicator used to signalize that the color value is outside the 0-1 range.
  251. ----
  252. .. _class_ColorPicker_theme_icon_picker_cursor:
  253. - :ref:`Texture2D<class_Texture2D>` **picker_cursor**
  254. ----
  255. .. _class_ColorPicker_theme_icon_sample_bg:
  256. - :ref:`Texture2D<class_Texture2D>` **sample_bg**
  257. ----
  258. .. _class_ColorPicker_theme_icon_screen_picker:
  259. - :ref:`Texture2D<class_Texture2D>` **screen_picker**
  260. The icon for the screen color picker button.
  261. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  262. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  263. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  264. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  265. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  266. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`