コード例 #1
0
ファイル: WarpControl.xaml.cs プロジェクト: danartri/PanoBeam
        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());
            }
        }
コード例 #2
0
ファイル: WarpControl.xaml.cs プロジェクト: danartri/PanoBeam
        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());
            }
        }
コード例 #3
0
ファイル: WarpControl.xaml.cs プロジェクト: danartri/PanoBeam
        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);
            }
        }
コード例 #4
0
ファイル: WarpControl.xaml.cs プロジェクト: danartri/PanoBeam
 private void OnBlacklevel2ControlPointTypeChanged(ControlPointsControl.ControlPoint controlPointData)
 {
     OnControlPointTypeChanged(controlPointData, ActiveProjector.Projector.Blacklevel2ControlPoints,
                               ActiveProjector.Projector.InterpolateBlacklevel2ControlPoints, ActiveProjector.Blacklevel2Control.UpdateControlPoints);
 }
コード例 #5
0
ファイル: WarpControl.xaml.cs プロジェクト: danartri/PanoBeam
 private void OnBlendRegionControlPointMoved(ControlPointsControl.ControlPoint controlPointData)
 {
     OnControlPointMoved(controlPointData, ActiveProjector.Projector.BlendRegionControlPoints,
                         ActiveProjector.Projector.InterpolateBlendRegionControlPoints, ActiveProjector.BlendRegionControl.UpdateControlPoints);
 }