/// <summary> /// Set the current colour (in HSV form) and generate the Results in the /// Results property. /// </summary> /// <param name="c">The new colour.</param> /// <param name="keepHistory"> /// If you want to update the undo stack. Note that it will only update it if /// the current colour and new colour are different. /// </param> /// <param name="fireEvent"> /// If you want to fire the event. /// </param> public void SetColor(HsvColor c, bool keepHistory = true, bool fireEvent = true) { if (keepHistory && c.ToString() != HsvColor.ToString()) { PushUndo(); } HsvColor = c; GetSchemeResults(); if (fireEvent) { OnResultChanged(new EventArgs()); } }