public ITactileDataContentStruct Read(BinaryReader input) { float hue = input.ReadSingle(); float saturation = input.ReadSingle(); float lightness = input.ReadSingle(); bool blueYellowRamp = input.ReadBoolean(); ColorVector result = new ColorVector(hue, saturation, lightness, blueYellowRamp); return(result); }
public void RefreshAdjustments() { var basePalette = GetDefaultColorPalette(); var entries = Palette.RampEntries(Ramp); var values = entries .Select(x => x.Color) .Select(x => basePalette.GetValue(x)) .ToArray(); for (int i = 0; i < Ramp.Count; i++) { // Get the adjustment that turns the palette color back into // the ramp color Color source = basePalette.GetColor(values[i]); PaletteEntry entry = entries[i]; Color target = entry.Color; var adjustment = ColorVector.ColorDifference(source, target, Ramp.BlueYellowAdjustments); Ramp.SetAdjustment(i, adjustment); } }
internal void SetAdjustment(int index, ColorVector adjustment) { _Adjustments[index] = adjustment; }