<?xml version="1.0" encoding="UTF-8" ?>
<class name="ColorPickerButton" inherits="Button" version="3.8">
	<brief_description>
		Button that pops out a [ColorPicker].
	</brief_description>
	<description>
		Encapsulates a [ColorPicker] making it accessible by pressing a button. Pressing the button will toggle the [ColorPicker] visibility.
		See also [BaseButton] which contains common properties and methods associated with this node.
		[b]Note:[/b] By default, the button may not be wide enough for the color preview swatch to be visible. Make sure to set [member Control.rect_min_size] to a big enough value to give the button enough space.
	</description>
	<tutorials>
		<link title="GUI Drag And Drop Demo">https://godotengine.org/asset-library/asset/133</link>
		<link title="2D GD Paint Demo">https://godotengine.org/asset-library/asset/517</link>
	</tutorials>
	<methods>
		<method name="get_picker">
			<return type="ColorPicker" />
			<description>
				Returns the [ColorPicker] that this node toggles.
				[b]Warning:[/b] This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their [member CanvasItem.visible] property.
			</description>
		</method>
		<method name="get_popup">
			<return type="PopupPanel" />
			<description>
				Returns the control's [PopupPanel] which allows you to connect to popup signals. This allows you to handle events when the ColorPicker is shown or hidden.
				[b]Warning:[/b] This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their [member CanvasItem.visible] property.
			</description>
		</method>
	</methods>
	<members>
		<member name="color" type="Color" setter="set_pick_color" getter="get_pick_color" default="Color( 0, 0, 0, 1 )">
			The currently selected color.
		</member>
		<member name="edit_alpha" type="bool" setter="set_edit_alpha" getter="is_editing_alpha" default="true">
			If [code]true[/code], the alpha channel in the displayed [ColorPicker] will be visible.
		</member>
		<member name="toggle_mode" type="bool" setter="set_toggle_mode" getter="is_toggle_mode" overrides="BaseButton" default="true" />
	</members>
	<signals>
		<signal name="color_changed">
			<argument index="0" name="color" type="Color" />
			<description>
				Emitted when the color changes.
			</description>
		</signal>
		<signal name="picker_created">
			<description>
				Emitted when the [ColorPicker] is created (the button is pressed for the first time).
			</description>
		</signal>
		<signal name="popup_closed">
			<description>
				Emitted when the [ColorPicker] is closed.
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
	<theme_items>
		<theme_item name="font_color" data_type="color" type="Color" default="Color( 1, 1, 1, 1 )">
			Default text [Color] of the [ColorPickerButton].
		</theme_item>
		<theme_item name="font_color_disabled" data_type="color" type="Color" default="Color( 0.9, 0.9, 0.9, 0.3 )">
			Text [Color] used when the [ColorPickerButton] is disabled.
		</theme_item>
		<theme_item name="font_color_focus" data_type="color" type="Color" default="Color( 1, 1, 1, 1 )">
			Text [Color] used when the [ColorPickerButton] is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
		</theme_item>
		<theme_item name="font_color_hover" data_type="color" type="Color" default="Color( 1, 1, 1, 1 )">
			Text [Color] used when the [ColorPickerButton] is being hovered.
		</theme_item>
		<theme_item name="font_color_pressed" data_type="color" type="Color" default="Color( 0.8, 0.8, 0.8, 1 )">
			Text [Color] used when the [ColorPickerButton] is being pressed.
		</theme_item>
		<theme_item name="hseparation" data_type="constant" type="int" default="2">
			The horizontal space between [ColorPickerButton]'s icon and text.
		</theme_item>
		<theme_item name="font" data_type="font" type="Font">
			[Font] of the [ColorPickerButton]'s text.
		</theme_item>
		<theme_item name="bg" data_type="icon" type="Texture">
			The background of the color preview rect on the button.
		</theme_item>
		<theme_item name="disabled" data_type="style" type="StyleBox">
			[StyleBox] used when the [ColorPickerButton] is disabled.
		</theme_item>
		<theme_item name="focus" data_type="style" type="StyleBox">
			[StyleBox] used when the [ColorPickerButton] is focused. It is displayed over the current [StyleBox], so using [StyleBoxEmpty] will just disable the focus visual effect.
		</theme_item>
		<theme_item name="hover" data_type="style" type="StyleBox">
			[StyleBox] used when the [ColorPickerButton] is being hovered.
		</theme_item>
		<theme_item name="normal" data_type="style" type="StyleBox">
			Default [StyleBox] for the [ColorPickerButton].
		</theme_item>
		<theme_item name="pressed" data_type="style" type="StyleBox">
			[StyleBox] used when the [ColorPickerButton] is being pressed.
		</theme_item>
	</theme_items>
</class>
