private void OnControlPointTypeChanged(ControlPointsControl.ControlPoint controlPointData, List <ControlPoint> controlPoints, Action interpolate, Action <ControlPointsControl.ControlPoint[]> updateControlPoints) { var cp = controlPoints.First(p => p.U == controlPointData.U && p.V == controlPointData.V); cp.ControlPointType = ConvertControlPointType(controlPointData.ControlPointType); if (cp.ControlPointType == ControlPointType.Default) { interpolate(); updateControlPoints(controlPoints.Select(ConvertControlPoint).ToArray()); } }
private void OnControlPointMoved(ControlPointsControl.ControlPoint controlPointData, List <ControlPoint> controlPoints, Action interpolate, Action <ControlPointsControl.ControlPoint[]> updateControlPoints) { UpdateWarpInfo(controlPointData); var cp = controlPoints.First(p => p.U == controlPointData.U && p.V == controlPointData.V); cp.X = controlPointData.X; cp.Y = controlPointData.Y; if (controlPointData.ControlPointType == ControlPointsControl.ControlPointType.IsEcke) { interpolate(); updateControlPoints(controlPoints.Select(ConvertControlPoint).ToArray()); } }
private void UpdateWarpInfo(ControlPointsControl.ControlPoint controlPointData) { if (ActiveProjector == null) { WarpInfo.Visibility = Visibility.Hidden; return; } WarpInfo.Visibility = Visibility.Visible; WarpInfo.Update(controlPointData); var distanceFromProjector = 50; if (ActiveProjector == _projectors[0]) { Canvas.SetLeft(WarpInfo, ActiveProjector.Projector.Resolution.Width + distanceFromProjector); } else { Canvas.SetLeft(WarpInfo, ActiveProjector.Projector.Resolution.Width - ActiveProjector.Projector.Overlap - distanceFromProjector - WarpInfo.Width); } }
private void OnBlacklevel2ControlPointTypeChanged(ControlPointsControl.ControlPoint controlPointData) { OnControlPointTypeChanged(controlPointData, ActiveProjector.Projector.Blacklevel2ControlPoints, ActiveProjector.Projector.InterpolateBlacklevel2ControlPoints, ActiveProjector.Blacklevel2Control.UpdateControlPoints); }
private void OnBlendRegionControlPointMoved(ControlPointsControl.ControlPoint controlPointData) { OnControlPointMoved(controlPointData, ActiveProjector.Projector.BlendRegionControlPoints, ActiveProjector.Projector.InterpolateBlendRegionControlPoints, ActiveProjector.BlendRegionControl.UpdateControlPoints); }