Up to date
This page is up to date for Godot 4.0
. If you still find outdated information, please open an issue.
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
color_changed ( Color color )
Emitted when the color is changed.
preset_added ( Color color )
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 ( ColorModeType value )
ColorModeType get_color_mode ( )
The currently selected color mode. See ColorModeType.
bool color_modes_visible = true
If true
, the color mode buttons are visible.
bool deferred_mode = false
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).
bool edit_alpha = true
If true
, shows an alpha channel slider (opacity).
bool hex_visible = true
If true
, the hex color code input field is visible.
PickerShapeType picker_shape = 0
void set_picker_shape ( PickerShapeType value )
PickerShapeType get_picker_shape ( )
The shape of the color space view. See PickerShapeType.
bool presets_visible = true
If true
, the Swatches and Recent Colors presets are visible.
bool sampler_visible = true
If true
, the color sampler and color preview are visible.
bool sliders_visible = true
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 h_width = 30
The width of the hue selection slider.
int label_width = 10
The minimum width of the color labels next to sliders.
int margin = 4
The margin around the ColorPicker.
int sv_height = 256
The height of the saturation-value selection box.
int sv_width = 256
The width of the saturation-value selection box.
Texture2D add_preset
The icon for the “Add Preset” button.
Texture2D bar_arrow
The texture for the arrow grabber.
Texture2D color_hue
Custom texture for the hue selection slider on the right.
Texture2D color_okhsl_hue
Custom texture for the H slider in the OKHSL color mode.
Texture2D expanded_arrow
The icon for color preset drop down menu when expanded.
Texture2D folded_arrow
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.
Texture2D picker_cursor
The image displayed over the color box/circle (depending on the picker_shape), marking the currently selected color.
Texture2D sample_bg
Background panel for the color preview box (visible when the color is translucent).
Texture2D screen_picker
The icon for the screen color picker button.
Texture2D shape_circle
The icon for circular picker shapes.
Texture2D shape_rect
The icon for rectangular picker shapes.
Texture2D shape_rect_wheel
The icon for rectangular wheel picker shapes.