Revision Difference
DColorCube#549997
<panel>
	<parent>DSlider</parent>
	<description>The DColorCube allows a user to select saturation and value but not hue. Uses HSV colors</description>⤶
⤶
</panel>⤶
	<realm>Client and Menu</realm>⤶
	<description>⤶
		The DColorCube allows a user to select saturation and value but not hue. Uses HSV colors⤶
	</description>⤶
	<overrides>⤶
		<page>Panel:Init</page>⤶
		<page>Panel:Paint</page>⤶
		<page>Panel:PaintOver</page>⤶
		<page>Panel:PerformLayout</page>⤶
	</overrides>⤶
</panel>⤶
<example>
	<description>Creates a DColorCube in a DFrame.</description>
	<code>
local Frame = vgui.Create( "DFrame" )
Frame:SetSize( 300, 300 )
Frame:Center()
Frame:MakePopup()
DColorCube = vgui.Create( "DColorCube", Frame)
DColorCube:SetPos( 50, 50 )
DColorCube:SetSize( 200, 200 )
DColorCube:SetBaseRGB( Color( 0, 255, 0 ) )
	</code>
</example>
<example>
	<description>Creates a color cube that's hue is controlled by a <page>DRGBPicker</page>, which outputs the color to the background panel, label, and your copy/paste buffer.</description>
	<code>
-- Background panel
BGPanel = vgui.Create("DPanel")
BGPanel:SetSize(200, 200)
BGPanel:Center()
-- Color label
local color_label = Label("Color( 255, 255, 255 )", BGPanel)
color_label:SetPos(40, 160)
color_label:SetSize(150, 20)
color_label:SetHighlight(true)
color_label:SetColor(Color(0, 0, 0))
-- Color picker
local color_picker = vgui.Create("DRGBPicker", BGPanel)
color_picker:SetPos(5, 5)
color_picker:SetSize(30, 190)
-- Color cube
local color_cube = vgui.Create("DColorCube", BGPanel)
color_cube:SetPos(40, 5)
color_cube:SetSize(155, 155)
-- When the picked color is changed...
function color_picker:OnChange(col)
	
	-- Get the hue of the RGB picker and the saturation and vibrance of the color cube
	local h = ColorToHSV(col)
	local _, s, v = ColorToHSV(color_cube:GetRGB())
	
	-- Mix them together and update the color cube
	col = HSVToColor(h, s, v)
	color_cube:SetColor(col)
	
	-- Lastly, update the background color and label
	UpdateColors(col)
		
end
function color_cube:OnUserChanged(col)
	-- Update background color and label
	UpdateColors(col)
end
-- Updates display colors, label, and clipboard text
function UpdateColors(col)
	BGPanel:SetBackgroundColor(col)
	color_label:SetText("Color( "..col.r..", "..col.g..", "..col.b.." )")
	color_label:SetColor(Color((255-col.r), (255-col.g), (255-col.b)))
	SetClipboardText(color_label:GetText())
end
	</code>
	<output><image src="DRGBPicker_example2.png"/></output>
</example>
			Garry's Mod 
		
			Rust 
		
			Steamworks 
		
			Wiki Help