/// <summary> /// Apply <see cref="HSVShift"/> values to the image, based on the /// channels in the currently loaded mask. /// </summary> /// <param name="ch1Shift">A shift to apply to the image when the first channel of the mask is active.</param> /// <param name="ch2Shift">A shift to apply to the image when the second channel of the mask is active.</param> /// <param name="ch3Shift">A shift to apply to the image when the third channel of the mask is active.</param> /// <param name="ch4Shift">A shift to apply to the image when the fourth channel of the mask is active.</param> /// <param name="blend">When true, each channel's shift adds; when false, each channel's shift overrides.</param> public void ApplyHSVShift(HSVShift ch1Shift, HSVShift ch2Shift, HSVShift ch3Shift, HSVShift ch4Shift, bool blend) { if (!SupportsHSV || !MaskLoaded) { return; } if (blend) { ddsFile.MaskedHSVShift(ddsMask, ch1Shift, ch2Shift, ch3Shift, ch4Shift); } else { ddsFile.MaskedHSVShiftNoBlend(ddsMask, ch1Shift, ch2Shift, ch3Shift, ch4Shift); } ckb_CheckedChanged(null, null); }