public ColorChangedEventArgs(RoutedEvent routedEvent, Color prevColor, Color oldColor, Color newColor, UpdatedColorReason reason) : base(routedEvent)
 {
     PreviewColor  = prevColor;
     OldColor      = oldColor;
     NewColor      = newColor;
     NewColorAsHSV = newColor.ToHSV();
     Reason        = reason;
 }
Example #2
0
        protected void SelectNewColor(Color color, UpdatedColorReason reason)
        {
            var hsv = color.ToHSV();

            H = hsv.H;
            S = hsv.S;
            V = hsv.V;

            R = color.R;
            G = color.G;
            B = color.B;
            A = color.A;

            Debug.WriteLine(hsv.ToString());

            var oldColor = SelectedColor;

            SelectedColor = color;

            switch (reason)
            {
            case UpdatedColorReason.AChanged:
                UpdateHexText();
                Debug.WriteLine("alpha changed");
                break;

            case UpdatedColorReason.HueChanged:
                UpdateHexText();
                Debug.WriteLine("hue changed");
                break;

            case UpdatedColorReason.ValueAndSaturationChanged:
                UpdateHexText();
                Debug.WriteLine("value or saturation changed");
                break;

            case UpdatedColorReason.HexChanged:
                UpdateAlphaSlider();
                UpdateHueSlider();
                UpdateSaturationValuePicker();
                Debug.WriteLine("hex changed");
                break;

            case UpdatedColorReason.ColorPickerInitializated:
                UpdateHexText();
                UpdateAlphaSlider();
                UpdateHueSlider();
                UpdateSaturationValuePicker();
                Debug.WriteLine("Initalized Correctly");
                break;
            }

            var args = new ColorChangedEventArgs(ColorChangedEvent, PreviewColor, oldColor, color, reason);

            RaiseEvent(args);
        }