github_url: | hide |
---|
Inherits: :ref:`VBoxContainer<class_VBoxContainer>` < :ref:`BoxContainer<class_BoxContainer>` < :ref:`Container<class_Container>` < :ref:`Control<class_Control>` < :ref:`CanvasItem<class_CanvasItem>` < :ref:`Node<class_Node>` < :ref:`Object<class_Object>`
A widget that provides an interface for selecting or modifying a color.
.. rst-class:: classref-introduction-group
A widget that provides an interface for selecting or modifying a color. It can optionally provide functionalities like a color sampler (eyedropper), color modes, and presets.
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 popup.
.. rst-class:: classref-introduction-group
.. rst-class:: classref-reftable-group
.. rst-class:: classref-reftable-group
.. rst-class:: classref-reftable-group
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-signal
color_changed ( :ref:`Color<class_Color>` color )
Emitted when the color is changed.
.. rst-class:: classref-item-separator
.. rst-class:: classref-signal
preset_added ( :ref:`Color<class_Color>` color )
Emitted when a preset is added.
.. rst-class:: classref-item-separator
.. rst-class:: classref-signal
preset_removed ( :ref:`Color<class_Color>` color )
Emitted when a preset is removed.
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-enumeration
enum ColorModeType:
.. rst-class:: classref-enumeration-constant
:ref:`ColorModeType<enum_ColorPicker_ColorModeType>` MODE_RGB = 0
Allows editing the color with Red/Green/Blue sliders.
.. rst-class:: classref-enumeration-constant
:ref:`ColorModeType<enum_ColorPicker_ColorModeType>` MODE_HSV = 1
Allows editing the color with Hue/Saturation/Value sliders.
.. rst-class:: classref-enumeration-constant
:ref:`ColorModeType<enum_ColorPicker_ColorModeType>` 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).
.. rst-class:: classref-enumeration-constant
:ref:`ColorModeType<enum_ColorPicker_ColorModeType>` MODE_OKHSL = 3
Allows editing the color with Hue/Saturation/Lightness sliders.
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.
.. rst-class:: classref-item-separator
.. rst-class:: classref-enumeration
enum PickerShapeType:
.. rst-class:: classref-enumeration-constant
:ref:`PickerShapeType<enum_ColorPicker_PickerShapeType>` SHAPE_HSV_RECTANGLE = 0
HSV Color Model rectangle color space.
.. rst-class:: classref-enumeration-constant
:ref:`PickerShapeType<enum_ColorPicker_PickerShapeType>` SHAPE_HSV_WHEEL = 1
HSV Color Model rectangle color space with a wheel.
.. rst-class:: classref-enumeration-constant
:ref:`PickerShapeType<enum_ColorPicker_PickerShapeType>` SHAPE_VHS_CIRCLE = 2
HSV Color Model circle color space. Use Saturation as a radius.
.. rst-class:: classref-enumeration-constant
:ref:`PickerShapeType<enum_ColorPicker_PickerShapeType>` SHAPE_OKHSL_CIRCLE = 3
HSL OK Color Model circle color space.
.. rst-class:: classref-enumeration-constant
:ref:`PickerShapeType<enum_ColorPicker_PickerShapeType>` SHAPE_NONE = 4
The color space shape and the shape select button are hidden. Can't be selected from the shapes popup.
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-property
:ref:`bool<class_bool>` can_add_swatches = true
.. rst-class:: classref-property-setget
- void set_can_add_swatches ( :ref:`bool<class_bool>` value )
- :ref:`bool<class_bool>` are_swatches_enabled ( )
If true
, it's possible to add presets under Swatches. If false
, the button to add presets is disabled.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`Color<class_Color>` color = Color(1, 1, 1, 1)
.. rst-class:: classref-property-setget
- void set_pick_color ( :ref:`Color<class_Color>` value )
- :ref:`Color<class_Color>` get_pick_color ( )
The currently selected color.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`ColorModeType<enum_ColorPicker_ColorModeType>` color_mode = 0
.. rst-class:: classref-property-setget
- void set_color_mode ( :ref:`ColorModeType<enum_ColorPicker_ColorModeType>` value )
- :ref:`ColorModeType<enum_ColorPicker_ColorModeType>` get_color_mode ( )
The currently selected color mode. See :ref:`ColorModeType<enum_ColorPicker_ColorModeType>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` color_modes_visible = true
.. rst-class:: classref-property-setget
- void set_modes_visible ( :ref:`bool<class_bool>` value )
- :ref:`bool<class_bool>` are_modes_visible ( )
If true
, the color mode buttons are visible.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` deferred_mode = false
.. rst-class:: classref-property-setget
- void set_deferred_mode ( :ref:`bool<class_bool>` value )
- :ref:`bool<class_bool>` is_deferred_mode ( )
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).
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` edit_alpha = true
.. rst-class:: classref-property-setget
- void set_edit_alpha ( :ref:`bool<class_bool>` value )
- :ref:`bool<class_bool>` is_editing_alpha ( )
If true
, shows an alpha channel slider (opacity).
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` hex_visible = true
.. rst-class:: classref-property-setget
- void set_hex_visible ( :ref:`bool<class_bool>` value )
- :ref:`bool<class_bool>` is_hex_visible ( )
If true
, the hex color code input field is visible.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`PickerShapeType<enum_ColorPicker_PickerShapeType>` picker_shape = 0
.. rst-class:: classref-property-setget
- void set_picker_shape ( :ref:`PickerShapeType<enum_ColorPicker_PickerShapeType>` value )
- :ref:`PickerShapeType<enum_ColorPicker_PickerShapeType>` get_picker_shape ( )
The shape of the color space view. See :ref:`PickerShapeType<enum_ColorPicker_PickerShapeType>`.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` presets_visible = true
.. rst-class:: classref-property-setget
- void set_presets_visible ( :ref:`bool<class_bool>` value )
- :ref:`bool<class_bool>` are_presets_visible ( )
If true
, the Swatches and Recent Colors presets are visible.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` sampler_visible = true
.. rst-class:: classref-property-setget
- void set_sampler_visible ( :ref:`bool<class_bool>` value )
- :ref:`bool<class_bool>` is_sampler_visible ( )
If true
, the color sampler and color preview are visible.
.. rst-class:: classref-item-separator
.. rst-class:: classref-property
:ref:`bool<class_bool>` sliders_visible = true
.. rst-class:: classref-property-setget
- void set_sliders_visible ( :ref:`bool<class_bool>` value )
- :ref:`bool<class_bool>` are_sliders_visible ( )
If true
, the color sliders are visible.
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-method
void add_preset ( :ref:`Color<class_Color>` color )
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.
Note: The presets list is only for this color picker.
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
void add_recent_preset ( :ref:`Color<class_Color>` color )
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.
Note: The recent presets list is only for this color picker.
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
void erase_preset ( :ref:`Color<class_Color>` color )
Removes the given color from the list of color presets of this color picker.
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
void erase_recent_preset ( :ref:`Color<class_Color>` color )
Removes the given color from the list of color recent presets of this color picker.
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
:ref:`PackedColorArray<class_PackedColorArray>` get_presets ( ) |const|
Returns the list of colors in the presets of the color picker.
.. rst-class:: classref-item-separator
.. rst-class:: classref-method
:ref:`PackedColorArray<class_PackedColorArray>` get_recent_presets ( ) |const|
Returns the list of colors in the recent presets of the color picker.
.. rst-class:: classref-section-separator
.. rst-class:: classref-descriptions-group
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` center_slider_grabbers = 1
Overrides the :ref:`HSlider.center_grabber<class_HSlider_theme_constant_center_grabber>` theme property of the sliders.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` h_width = 30
The width of the hue selection slider.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` label_width = 10
The minimum width of the color labels next to sliders.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` margin = 4
The margin around the ColorPicker.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` sv_height = 256
The height of the saturation-value selection box.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`int<class_int>` sv_width = 256
The width of the saturation-value selection box.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` add_preset
The icon for the "Add Preset" button.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` bar_arrow
The texture for the arrow grabber.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` color_hue
Custom texture for the hue selection slider on the right.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` color_okhsl_hue
Custom texture for the H slider in the OKHSL color mode.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` expanded_arrow
The icon for color preset drop down menu when expanded.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` folded_arrow
The icon for color preset drop down menu when folded.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` overbright_indicator
The indicator used to signalize that the color value is outside the 0-1 range.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` picker_cursor
The image displayed over the color box/circle (depending on the :ref:`picker_shape<class_ColorPicker_property_picker_shape>`), marking the currently selected color.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` sample_bg
Background panel for the color preview box (visible when the color is translucent).
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` screen_picker
The icon for the screen color picker button.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` shape_circle
The icon for circular picker shapes.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` shape_rect
The icon for rectangular picker shapes.
.. rst-class:: classref-item-separator
.. rst-class:: classref-themeproperty
:ref:`Texture2D<class_Texture2D>` shape_rect_wheel
The icon for rectangular wheel picker shapes.