Garry's Mod Wiki

Revision Difference

DRGBPicker:SetRGB#515410

<function name="SetRGB" parent="DRGBPicker" type="panelfunc"> <ispanel>yes</ispanel> <description> Sets the color stored in the color picker. <note>This function is meant to be called internally and will not update the position of the color picker line or call <page>DRGBPicker:OnChange</page></note> </description> <realm>Client</realm> <args> <arg name="color" type="table">The color to set, see &lt;page&gt;Color&lt;/page&gt;.</arg> </args> </function> <example> <description>Defines a new function SetColor which will allow proper modification of the color picker directly.</description> <code> -- Background panel BGPanel = vgui.Create("DPanel") BGPanel:SetSize(100, 200) BGPanel:Center() -- Color picker local color_picker = vgui.Create("DRGBPicker", BGPanel) color_picker:SetSize(30, 150) color_picker:Center() -- Custom function that sets color picker position and updates color function color_picker:SetColor(col) -- Get hue local h = ColorToHSV(col) -- Maximize saturation and vibrance col = HSVToColor(h, 1, 1) -- Set color var self:SetRGB(col) -- Calculate position of color picker line local _, height = self:GetSize() self.LastY = height*(1-(h/360)) -- Register that a change has occured self:OnChange(self:GetRGB()) end -- Update background color function color_picker:OnChange(col) BGPanel:SetBackgroundColor(col) end -- Set to random color every second for 10 seconds timer.Create("RandomizeColorPicker", 1, 10, function () color_picker:SetColor(Color(math.random(0, 255), math.random(0, 255), math.random(0, 255), 255)) end) </code> <output></output> </example>