class_colorpicker.rst 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502
  1. :github_url: hide
  2. .. DO NOT EDIT THIS FILE!!!
  3. .. Generated automatically from Godot engine sources.
  4. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
  5. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ColorPicker.xml.
  6. .. _class_ColorPicker:
  7. ColorPicker
  8. ===========
  9. **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>`
  10. Color picker control.
  11. Description
  12. -----------
  13. Displays a color picker widget. Useful for selecting a color from an RGB/RGBA colorspace.
  14. \ **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.
  15. Tutorials
  16. ---------
  17. - `Tween Demo <https://godotengine.org/asset-library/asset/146>`__
  18. Properties
  19. ----------
  20. +----------------------------------------------------------+--------------------------------------------------------------------+--------------------------------------------------------------------------------+
  21. | :ref:`Color<class_Color>` | :ref:`color<class_ColorPicker_property_color>` | ``Color(1, 1, 1, 1)`` |
  22. +----------------------------------------------------------+--------------------------------------------------------------------+--------------------------------------------------------------------------------+
  23. | :ref:`ColorModeType<enum_ColorPicker_ColorModeType>` | :ref:`color_mode<class_ColorPicker_property_color_mode>` | ``0`` |
  24. +----------------------------------------------------------+--------------------------------------------------------------------+--------------------------------------------------------------------------------+
  25. | :ref:`bool<class_bool>` | :ref:`deferred_mode<class_ColorPicker_property_deferred_mode>` | ``false`` |
  26. +----------------------------------------------------------+--------------------------------------------------------------------+--------------------------------------------------------------------------------+
  27. | :ref:`bool<class_bool>` | :ref:`edit_alpha<class_ColorPicker_property_edit_alpha>` | ``true`` |
  28. +----------------------------------------------------------+--------------------------------------------------------------------+--------------------------------------------------------------------------------+
  29. | :ref:`PickerShapeType<enum_ColorPicker_PickerShapeType>` | :ref:`picker_shape<class_ColorPicker_property_picker_shape>` | ``0`` |
  30. +----------------------------------------------------------+--------------------------------------------------------------------+--------------------------------------------------------------------------------+
  31. | :ref:`bool<class_bool>` | :ref:`presets_enabled<class_ColorPicker_property_presets_enabled>` | ``true`` |
  32. +----------------------------------------------------------+--------------------------------------------------------------------+--------------------------------------------------------------------------------+
  33. | :ref:`bool<class_bool>` | :ref:`presets_visible<class_ColorPicker_property_presets_visible>` | ``true`` |
  34. +----------------------------------------------------------+--------------------------------------------------------------------+--------------------------------------------------------------------------------+
  35. | :ref:`bool<class_bool>` | vertical | ``true`` (overrides :ref:`BoxContainer<class_BoxContainer_property_vertical>`) |
  36. +----------------------------------------------------------+--------------------------------------------------------------------+--------------------------------------------------------------------------------+
  37. Methods
  38. -------
  39. +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
  40. | void | :ref:`add_preset<class_ColorPicker_method_add_preset>` **(** :ref:`Color<class_Color>` color **)** |
  41. +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
  42. | void | :ref:`add_recent_preset<class_ColorPicker_method_add_recent_preset>` **(** :ref:`Color<class_Color>` color **)** |
  43. +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
  44. | void | :ref:`erase_preset<class_ColorPicker_method_erase_preset>` **(** :ref:`Color<class_Color>` color **)** |
  45. +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
  46. | void | :ref:`erase_recent_preset<class_ColorPicker_method_erase_recent_preset>` **(** :ref:`Color<class_Color>` color **)** |
  47. +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
  48. | :ref:`PackedColorArray<class_PackedColorArray>` | :ref:`get_presets<class_ColorPicker_method_get_presets>` **(** **)** |const| |
  49. +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
  50. | :ref:`PackedColorArray<class_PackedColorArray>` | :ref:`get_recent_presets<class_ColorPicker_method_get_recent_presets>` **(** **)** |const| |
  51. +-------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+
  52. Theme Properties
  53. ----------------
  54. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  55. | :ref:`int<class_int>` | :ref:`h_width<class_ColorPicker_theme_constant_h_width>` | ``30`` |
  56. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  57. | :ref:`int<class_int>` | :ref:`label_width<class_ColorPicker_theme_constant_label_width>` | ``10`` |
  58. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  59. | :ref:`int<class_int>` | :ref:`margin<class_ColorPicker_theme_constant_margin>` | ``4`` |
  60. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  61. | :ref:`int<class_int>` | :ref:`sv_height<class_ColorPicker_theme_constant_sv_height>` | ``256`` |
  62. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  63. | :ref:`int<class_int>` | :ref:`sv_width<class_ColorPicker_theme_constant_sv_width>` | ``256`` |
  64. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  65. | :ref:`Texture2D<class_Texture2D>` | :ref:`add_preset<class_ColorPicker_theme_icon_add_preset>` | |
  66. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  67. | :ref:`Texture2D<class_Texture2D>` | :ref:`bar_arrow<class_ColorPicker_theme_icon_bar_arrow>` | |
  68. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  69. | :ref:`Texture2D<class_Texture2D>` | :ref:`color_hue<class_ColorPicker_theme_icon_color_hue>` | |
  70. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  71. | :ref:`Texture2D<class_Texture2D>` | :ref:`expanded_arrow<class_ColorPicker_theme_icon_expanded_arrow>` | |
  72. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  73. | :ref:`Texture2D<class_Texture2D>` | :ref:`folded_arrow<class_ColorPicker_theme_icon_folded_arrow>` | |
  74. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  75. | :ref:`Texture2D<class_Texture2D>` | :ref:`overbright_indicator<class_ColorPicker_theme_icon_overbright_indicator>` | |
  76. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  77. | :ref:`Texture2D<class_Texture2D>` | :ref:`picker_cursor<class_ColorPicker_theme_icon_picker_cursor>` | |
  78. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  79. | :ref:`Texture2D<class_Texture2D>` | :ref:`sample_bg<class_ColorPicker_theme_icon_sample_bg>` | |
  80. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  81. | :ref:`Texture2D<class_Texture2D>` | :ref:`screen_picker<class_ColorPicker_theme_icon_screen_picker>` | |
  82. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  83. | :ref:`Texture2D<class_Texture2D>` | :ref:`shape_circle<class_ColorPicker_theme_icon_shape_circle>` | |
  84. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  85. | :ref:`Texture2D<class_Texture2D>` | :ref:`shape_rect<class_ColorPicker_theme_icon_shape_rect>` | |
  86. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  87. | :ref:`Texture2D<class_Texture2D>` | :ref:`shape_rect_wheel<class_ColorPicker_theme_icon_shape_rect_wheel>` | |
  88. +-----------------------------------+--------------------------------------------------------------------------------+---------+
  89. Signals
  90. -------
  91. .. _class_ColorPicker_signal_color_changed:
  92. - **color_changed** **(** :ref:`Color<class_Color>` color **)**
  93. Emitted when the color is changed.
  94. ----
  95. .. _class_ColorPicker_signal_preset_added:
  96. - **preset_added** **(** :ref:`Color<class_Color>` color **)**
  97. Emitted when a preset is added.
  98. ----
  99. .. _class_ColorPicker_signal_preset_removed:
  100. - **preset_removed** **(** :ref:`Color<class_Color>` color **)**
  101. Emitted when a preset is removed.
  102. Enumerations
  103. ------------
  104. .. _enum_ColorPicker_ColorModeType:
  105. .. _class_ColorPicker_constant_MODE_RGB:
  106. .. _class_ColorPicker_constant_MODE_HSV:
  107. .. _class_ColorPicker_constant_MODE_RAW:
  108. .. _class_ColorPicker_constant_MODE_OKHSL:
  109. enum **ColorModeType**:
  110. - **MODE_RGB** = **0** --- Allows editing the color with Red/Green/Blue sliders.
  111. - **MODE_HSV** = **1** --- Allows editing the color with Hue/Saturation/Value sliders.
  112. - **MODE_RAW** = **2** --- 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).
  113. - **MODE_OKHSL** = **3** --- Allows editing the color with Hue/Saturation/Lightness sliders.
  114. OKHSL is a new color space similar to HSL but that better match perception by leveraging the Oklab color space which is designed to be simple to use, while doing a good job at predicting perceived lightness, chroma and hue.
  115. \ `Okhsv and Okhsl color spaces <https://bottosson.github.io/posts/colorpicker/>`__
  116. ----
  117. .. _enum_ColorPicker_PickerShapeType:
  118. .. _class_ColorPicker_constant_SHAPE_HSV_RECTANGLE:
  119. .. _class_ColorPicker_constant_SHAPE_HSV_WHEEL:
  120. .. _class_ColorPicker_constant_SHAPE_VHS_CIRCLE:
  121. .. _class_ColorPicker_constant_SHAPE_OKHSL_CIRCLE:
  122. enum **PickerShapeType**:
  123. - **SHAPE_HSV_RECTANGLE** = **0** --- HSV Color Model rectangle color space.
  124. - **SHAPE_HSV_WHEEL** = **1** --- HSV Color Model rectangle color space with a wheel.
  125. - **SHAPE_VHS_CIRCLE** = **2** --- HSV Color Model circle color space. Use Saturation as a radius.
  126. - **SHAPE_OKHSL_CIRCLE** = **3** --- HSL OK Color Model circle color space.
  127. Property Descriptions
  128. ---------------------
  129. .. _class_ColorPicker_property_color:
  130. - :ref:`Color<class_Color>` **color**
  131. +-----------+-----------------------+
  132. | *Default* | ``Color(1, 1, 1, 1)`` |
  133. +-----------+-----------------------+
  134. | *Setter* | set_pick_color(value) |
  135. +-----------+-----------------------+
  136. | *Getter* | get_pick_color() |
  137. +-----------+-----------------------+
  138. The currently selected color.
  139. ----
  140. .. _class_ColorPicker_property_color_mode:
  141. - :ref:`ColorModeType<enum_ColorPicker_ColorModeType>` **color_mode**
  142. +-----------+-----------------------+
  143. | *Default* | ``0`` |
  144. +-----------+-----------------------+
  145. | *Setter* | set_color_mode(value) |
  146. +-----------+-----------------------+
  147. | *Getter* | get_color_mode() |
  148. +-----------+-----------------------+
  149. The currently selected color mode. See :ref:`ColorModeType<enum_ColorPicker_ColorModeType>`.
  150. ----
  151. .. _class_ColorPicker_property_deferred_mode:
  152. - :ref:`bool<class_bool>` **deferred_mode**
  153. +-----------+--------------------------+
  154. | *Default* | ``false`` |
  155. +-----------+--------------------------+
  156. | *Setter* | set_deferred_mode(value) |
  157. +-----------+--------------------------+
  158. | *Getter* | is_deferred_mode() |
  159. +-----------+--------------------------+
  160. 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).
  161. ----
  162. .. _class_ColorPicker_property_edit_alpha:
  163. - :ref:`bool<class_bool>` **edit_alpha**
  164. +-----------+-----------------------+
  165. | *Default* | ``true`` |
  166. +-----------+-----------------------+
  167. | *Setter* | set_edit_alpha(value) |
  168. +-----------+-----------------------+
  169. | *Getter* | is_editing_alpha() |
  170. +-----------+-----------------------+
  171. If ``true``, shows an alpha channel slider (opacity).
  172. ----
  173. .. _class_ColorPicker_property_picker_shape:
  174. - :ref:`PickerShapeType<enum_ColorPicker_PickerShapeType>` **picker_shape**
  175. +-----------+-------------------------+
  176. | *Default* | ``0`` |
  177. +-----------+-------------------------+
  178. | *Setter* | set_picker_shape(value) |
  179. +-----------+-------------------------+
  180. | *Getter* | get_picker_shape() |
  181. +-----------+-------------------------+
  182. The shape of the color space view. See :ref:`PickerShapeType<enum_ColorPicker_PickerShapeType>`.
  183. ----
  184. .. _class_ColorPicker_property_presets_enabled:
  185. - :ref:`bool<class_bool>` **presets_enabled**
  186. +-----------+----------------------------+
  187. | *Default* | ``true`` |
  188. +-----------+----------------------------+
  189. | *Setter* | set_presets_enabled(value) |
  190. +-----------+----------------------------+
  191. | *Getter* | are_presets_enabled() |
  192. +-----------+----------------------------+
  193. If ``true``, the "add preset" button is enabled.
  194. ----
  195. .. _class_ColorPicker_property_presets_visible:
  196. - :ref:`bool<class_bool>` **presets_visible**
  197. +-----------+----------------------------+
  198. | *Default* | ``true`` |
  199. +-----------+----------------------------+
  200. | *Setter* | set_presets_visible(value) |
  201. +-----------+----------------------------+
  202. | *Getter* | are_presets_visible() |
  203. +-----------+----------------------------+
  204. If ``true``, saved color presets are visible.
  205. Method Descriptions
  206. -------------------
  207. .. _class_ColorPicker_method_add_preset:
  208. - void **add_preset** **(** :ref:`Color<class_Color>` color **)**
  209. 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.
  210. \ **Note:** The presets list is only for *this* color picker.
  211. ----
  212. .. _class_ColorPicker_method_add_recent_preset:
  213. - void **add_recent_preset** **(** :ref:`Color<class_Color>` color **)**
  214. Adds the given color to a list of color recent presets so that it can be picked later. Recent presets are the colors that were picked recently, a new preset is automatically created and added to recent presets when you pick a new color.
  215. \ **Note:** The recent presets list is only for *this* color picker.
  216. ----
  217. .. _class_ColorPicker_method_erase_preset:
  218. - void **erase_preset** **(** :ref:`Color<class_Color>` color **)**
  219. Removes the given color from the list of color presets of this color picker.
  220. ----
  221. .. _class_ColorPicker_method_erase_recent_preset:
  222. - void **erase_recent_preset** **(** :ref:`Color<class_Color>` color **)**
  223. Removes the given color from the list of color recent presets of this color picker.
  224. ----
  225. .. _class_ColorPicker_method_get_presets:
  226. - :ref:`PackedColorArray<class_PackedColorArray>` **get_presets** **(** **)** |const|
  227. Returns the list of colors in the presets of the color picker.
  228. ----
  229. .. _class_ColorPicker_method_get_recent_presets:
  230. - :ref:`PackedColorArray<class_PackedColorArray>` **get_recent_presets** **(** **)** |const|
  231. Returns the list of colors in the recent presets of the color picker.
  232. Theme Property Descriptions
  233. ---------------------------
  234. .. _class_ColorPicker_theme_constant_h_width:
  235. - :ref:`int<class_int>` **h_width**
  236. +-----------+--------+
  237. | *Default* | ``30`` |
  238. +-----------+--------+
  239. The width of the hue selection slider.
  240. ----
  241. .. _class_ColorPicker_theme_constant_label_width:
  242. - :ref:`int<class_int>` **label_width**
  243. +-----------+--------+
  244. | *Default* | ``10`` |
  245. +-----------+--------+
  246. ----
  247. .. _class_ColorPicker_theme_constant_margin:
  248. - :ref:`int<class_int>` **margin**
  249. +-----------+-------+
  250. | *Default* | ``4`` |
  251. +-----------+-------+
  252. The margin around the ``ColorPicker``.
  253. ----
  254. .. _class_ColorPicker_theme_constant_sv_height:
  255. - :ref:`int<class_int>` **sv_height**
  256. +-----------+---------+
  257. | *Default* | ``256`` |
  258. +-----------+---------+
  259. The height of the saturation-value selection box.
  260. ----
  261. .. _class_ColorPicker_theme_constant_sv_width:
  262. - :ref:`int<class_int>` **sv_width**
  263. +-----------+---------+
  264. | *Default* | ``256`` |
  265. +-----------+---------+
  266. The width of the saturation-value selection box.
  267. ----
  268. .. _class_ColorPicker_theme_icon_add_preset:
  269. - :ref:`Texture2D<class_Texture2D>` **add_preset**
  270. The icon for the "Add Preset" button.
  271. ----
  272. .. _class_ColorPicker_theme_icon_bar_arrow:
  273. - :ref:`Texture2D<class_Texture2D>` **bar_arrow**
  274. The texture for the arrow grabber.
  275. ----
  276. .. _class_ColorPicker_theme_icon_color_hue:
  277. - :ref:`Texture2D<class_Texture2D>` **color_hue**
  278. Custom texture for the hue selection slider on the right.
  279. ----
  280. .. _class_ColorPicker_theme_icon_expanded_arrow:
  281. - :ref:`Texture2D<class_Texture2D>` **expanded_arrow**
  282. The icon for color preset drop down menu when expanded.
  283. ----
  284. .. _class_ColorPicker_theme_icon_folded_arrow:
  285. - :ref:`Texture2D<class_Texture2D>` **folded_arrow**
  286. The icon for color preset drop down menu when folded.
  287. ----
  288. .. _class_ColorPicker_theme_icon_overbright_indicator:
  289. - :ref:`Texture2D<class_Texture2D>` **overbright_indicator**
  290. The indicator used to signalize that the color value is outside the 0-1 range.
  291. ----
  292. .. _class_ColorPicker_theme_icon_picker_cursor:
  293. - :ref:`Texture2D<class_Texture2D>` **picker_cursor**
  294. ----
  295. .. _class_ColorPicker_theme_icon_sample_bg:
  296. - :ref:`Texture2D<class_Texture2D>` **sample_bg**
  297. ----
  298. .. _class_ColorPicker_theme_icon_screen_picker:
  299. - :ref:`Texture2D<class_Texture2D>` **screen_picker**
  300. The icon for the screen color picker button.
  301. ----
  302. .. _class_ColorPicker_theme_icon_shape_circle:
  303. - :ref:`Texture2D<class_Texture2D>` **shape_circle**
  304. The icon for circular picker shapes.
  305. ----
  306. .. _class_ColorPicker_theme_icon_shape_rect:
  307. - :ref:`Texture2D<class_Texture2D>` **shape_rect**
  308. The icon for rectangular picker shapes.
  309. ----
  310. .. _class_ColorPicker_theme_icon_shape_rect_wheel:
  311. - :ref:`Texture2D<class_Texture2D>` **shape_rect_wheel**
  312. The icon for rectangular wheel picker shapes.
  313. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  314. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  315. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
  316. .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
  317. .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
  318. .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`