ColorPicker
Inherits: VBoxContainer < BoxContainer < Container < Control < CanvasItem < Node < Object
A widget that provides an interface for selecting or modifying a color.
Description
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 ColorPickerButton instead if you need a button that brings up a ColorPicker in a popup.
Tutorials
Properties
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
Methods
void | add_preset(color: Color) |
void | add_recent_preset(color: Color) |
void | erase_preset(color: Color) |
void | erase_recent_preset(color: Color) |
get_presets() const | |
get_recent_presets() const |
Theme Properties
| ||
| ||
| ||
| ||
| ||
| ||
Signals
Emitted when the color is changed.
Emitted when a preset is added.
preset_removed(color: Color) 🔗
Emitted when a preset is removed.
Enumerations
enum ColorModeType: 🔗
ColorModeType MODE_RGB = 0
Allows editing the color with Red/Green/Blue sliders.
ColorModeType MODE_HSV = 1
Allows editing the color with Hue/Saturation/Value sliders.
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).
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.
enum PickerShapeType: 🔗
PickerShapeType SHAPE_HSV_RECTANGLE = 0
HSV Color Model rectangle color space.
PickerShapeType SHAPE_HSV_WHEEL = 1
HSV Color Model rectangle color space with a wheel.
PickerShapeType SHAPE_VHS_CIRCLE = 2
HSV Color Model circle color space. Use Saturation as a radius.
PickerShapeType SHAPE_OKHSL_CIRCLE = 3
HSL OK Color Model circle color space.
PickerShapeType SHAPE_NONE = 4
The color space shape and the shape select button are hidden. Can’t be selected from the shapes popup.
Property Descriptions
bool can_add_swatches = true
🔗
If true
, it’s possible to add presets under Swatches. If false
, the button to add presets is disabled.
Color color = Color(1, 1, 1, 1)
🔗
The currently selected color.
ColorModeType color_mode = 0
🔗
void set_color_mode(value: ColorModeType)
ColorModeType get_color_mode()
The currently selected color mode. See ColorModeType.
bool color_modes_visible = true
🔗
If true
, the color mode buttons are visible.
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).
If true
, shows an alpha channel slider (opacity).
If true
, the hex color code input field is visible.
PickerShapeType picker_shape = 0
🔗
void set_picker_shape(value: PickerShapeType)
PickerShapeType get_picker_shape()
The shape of the color space view. See PickerShapeType.
If true
, the Swatches and Recent Colors presets are visible.
If true
, the color sampler and color preview are visible.
If true
, the color sliders are visible.
Method Descriptions
void add_preset(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.
void add_recent_preset(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.
void erase_preset(color: Color) 🔗
Removes the given color from the list of color presets of this color picker.
void erase_recent_preset(color: Color) 🔗
Removes the given color from the list of color recent presets of this color picker.
PackedColorArray get_presets() const 🔗
Returns the list of colors in the presets of the color picker.
PackedColorArray get_recent_presets() const 🔗
Returns the list of colors in the recent presets of the color picker.
Theme Property Descriptions
int center_slider_grabbers = 1
🔗
Overrides the Slider.center_grabber theme property of the sliders.
The width of the hue selection slider.
The minimum width of the color labels next to sliders.
The margin around the ColorPicker.
The height of the saturation-value selection box.
The width of the saturation-value selection box.
The icon for the “Add Preset” button.
The texture for the arrow grabber.
Custom texture for the hue selection slider on the right.
Custom texture for the H slider in the OKHSL color mode.
The icon for color preset drop down menu when expanded.
The icon for color preset drop down menu when folded.
Texture2D overbright_indicator 🔗
The indicator used to signalize that the color value is outside the 0-1 range.
The image displayed over the color box/circle (depending on the picker_shape), marking the currently selected color.
Background panel for the color preview box (visible when the color is translucent).
The icon for the revert button (visible on the middle of the “old” color when it differs from the currently selected color). This icon is modulated with a dark color if the “old” color is bright enough, so the icon should be bright to ensure visibility in both scenarios.
The icon for the screen color picker button.
The icon for circular picker shapes.
The icon for rectangular picker shapes.
The icon for rectangular wheel picker shapes.
User-contributed notes
Please read the User-contributed notes policy before submitting a comment.