public void UpdateFromProjectorData(ProjectorData projectorData) { MaxBlend = projectorData.BlendData.MaxBlend; BlacklevelOffset = projectorData.BlendData.BlacklevelOffset; Blacklevel2Offset = projectorData.BlendData.Blacklevel2Offset; BlendCurve.InitFromConfig(projectorData.BlendData.CurvePoints); var controlPoints = projectorData.ControlPoints; if (controlPoints != null) { for (var i = 0; i < ControlPoints.Count; i++) { ControlPoints[i].X = controlPoints[i].X; ControlPoints[i].Y = controlPoints[i].Y; if (controlPoints[i].ControlPointType == ControlPointType.IsFix) { ControlPoints[i].ControlPointType = ControlPointType.IsFix; } } } var blacklevelControlPoints = projectorData.BlacklevelControlPoints; if (blacklevelControlPoints != null) { for (var i = 0; i < BlacklevelControlPoints.Count; i++) { BlacklevelControlPoints[i].X = blacklevelControlPoints[i].X; BlacklevelControlPoints[i].Y = blacklevelControlPoints[i].Y; } } var blacklevel2ControlPoints = projectorData.Blacklevel2ControlPoints; if (blacklevel2ControlPoints != null) { for (var i = 0; i < Blacklevel2ControlPoints.Count; i++) { Blacklevel2ControlPoints[i].X = blacklevel2ControlPoints[i].X; Blacklevel2ControlPoints[i].Y = blacklevel2ControlPoints[i].Y; } } var blendRegionControlPoints = projectorData.BlendRegionControlPoints; if (blendRegionControlPoints != null) { for (var i = 0; i < BlendRegionControlPoints.Count; i++) { BlendRegionControlPoints[i].X = blendRegionControlPoints[i].X; BlendRegionControlPoints[i].Y = blendRegionControlPoints[i].Y; } } }