Esempio n. 1
0
 /// <summary>
 /// event handler for MainPage.Loaded
 /// </summary>
 void OnLoaded(object sender, Windows.UI.Xaml.RoutedEventArgs e)
 {
     // Added a member variable of type CoreWetStrokeUpdateSource called 'wetUpdateSource'
     this.wetUpdateSource = CoreWetStrokeUpdateSource.Create(this.inkCanvas.InkPresenter);
     this.wetUpdateSource.WetStrokeStarting   += OnStrokeStarting;
     this.wetUpdateSource.WetStrokeContinuing += OnStrokeContinuing;
 }
Esempio n. 2
0
        private void coreWetStrokeUpdateSource_StrokeStopping(CoreWetStrokeUpdateSource sender, CoreWetStrokeUpdateEventArgs args)
        {
            if (args.NewInkPoints.Count > 0)
            {
                InkPoint firstPoint = args.NewInkPoints.First();
                Point    p          = new Point()
                {
                    X = firstPoint.Position.X, Y = firstPoint.Position.Y
                };
                if (GeometryHelper.PointIsInPolygon(P1, P2, P3, p) == true)
                {
                    IsInkSpace       = false;
                    Snap             = false;
                    args.Disposition = CoreWetStrokeDisposition.Completed;
                }
            }

            if (Snap == true)
            {
                this.SnapPoints(args.NewInkPoints);
            }
            else if (IsInkSpace == false)
            {
                args.NewInkPoints.Clear();
            }
            SaveNecessity = true;
        }
Esempio n. 3
0
        private void coreWetStrokeUpdateSource_StrokeStarting(CoreWetStrokeUpdateSource sender, CoreWetStrokeUpdateEventArgs args)
        {
            InkPoint firstPoint = args.NewInkPoints.First();
            Point    p          = new Point()
            {
                X = firstPoint.Position.X, Y = firstPoint.Position.Y
            };

            if (GeometryHelper.MinimalDistanceToGeodreieck(P1, P2, P3, p) <= 72)
            {
                Snap       = true;
                IsInkSpace = true;
                this.SnapPoints(args.NewInkPoints);
            }
            else if (GeometryHelper.PointIsInPolygon(P1, P2, P3, p) == true)
            {
                IsInkSpace = false;
                Snap       = false;
                args.NewInkPoints.Clear();
            }
            else
            {
                IsInkSpace = true;
                Snap       = false;
            }
            SaveNecessity = true;
        }
Esempio n. 4
0
        private void OnWetStrokeCanceled(CoreWetStrokeUpdateSource sender, CoreWetStrokeUpdateEventArgs args)
        {
            XCoreWetStrokeUpdateEventArgs updateArgs = CreateUpdateArgs(args);

            InvokeWetStrokeCanceled(updateArgs);

            UpdateEventArgs(args, updateArgs);
        }
Esempio n. 5
0
        private void OnWetStrokeStopping(CoreWetStrokeUpdateSource sender, CoreWetStrokeUpdateEventArgs args)
        {
            var updateArgs = CreateUpdateArgs(args);

            InvokeWetStrokeStopping(updateArgs);

            UpdateEventArgs(args, updateArgs);
        }
Esempio n. 6
0
 protected override void OnNavigatedTo(NavigationEventArgs e)
 {
     // Registering handlers for Wet Stroke events
     coreWetStrokeUpdateSource = CoreWetStrokeUpdateSource.Create(inkCanvas.InkPresenter);
     coreWetStrokeUpdateSource.WetStrokeStarting   += CoreWetStrokeUpdateSource_WetStrokeStarting;
     coreWetStrokeUpdateSource.WetStrokeContinuing += CoreWetStrokeUpdateSource_WetStrokeContinuing;
     coreWetStrokeUpdateSource.WetStrokeStopping   += CoreWetStrokeUpdateSource_WetStrokeStopping;
     coreWetStrokeUpdateSource.WetStrokeCompleted  += CoreWetStrokeUpdateSource_WetStrokeCompleted;
     coreWetStrokeUpdateSource.WetStrokeCanceled   += CoreWetStrokeUpdateSource_WetStrokeCanceled;
 }
Esempio n. 7
0
 private void CoreWetStrokeUpdateSource_WetStrokeContinuing(CoreWetStrokeUpdateSource sender, CoreWetStrokeUpdateEventArgs args)
 {
     if (followCircle)
     {
         HandleFollowCircleInput(args);
     }
     else
     {
         HandleRegularInput(args);
     }
 }
 private void CoreWetStrokeUpdateSource_WetStrokeContinuing(CoreWetStrokeUpdateSource sender, CoreWetStrokeUpdateEventArgs args)
 {
     if (followCircle)
     {
         HandleFollowCircleInput(args);
     }
     else
     {
         HandleRegularInput(args);
     }
 }
 private void CoreWetStrokeUpdateSource_WetStrokeStarting(CoreWetStrokeUpdateSource sender, CoreWetStrokeUpdateEventArgs args)
 {
     followCircle = disableFollowCircle ? false : FollowCircleTest(args);
     if (followCircle)
     {
         HandleFollowCircleInput(args);
     }
     else
     {
         disableFollowCircle = true;
         HandleRegularInput(args);
     }
 }
Esempio n. 10
0
 private void CoreWetStrokeUpdateSource_WetStrokeStarting(CoreWetStrokeUpdateSource sender, CoreWetStrokeUpdateEventArgs args)
 {
     followCircle = disableFollowCircle ? false : FollowCircleTest(args);
     if (followCircle)
     {
         HandleFollowCircleInput(args);
     }
     else
     {
         disableFollowCircle = true;
         HandleRegularInput(args);
     }
 }
Esempio n. 11
0
        private void CoreWetStrokeUpdateSource_WetStrokeStopping(CoreWetStrokeUpdateSource sender, CoreWetStrokeUpdateEventArgs args)
        {
            if (followCircle)
            {
                HandleFollowCircleInput(args);
            }
            else
            {
                HandleRegularInput(args);
            }

            disableFollowCircle = false;
        }
Esempio n. 12
0
        /// <summary>
        /// Initializes a new instance of the UWPCoreWetStrokeUpdateSource class
        /// </summary>
        /// <param name="inkPresenter">the ink presenter</param>
        public UWPCoreWetStrokeUpdateSource(IInkPresenter inkPresenter) :
            base(inkPresenter)
        {
            if (inkPresenter is UWPInkPresenter uwpInkPresenter)
            {
                _updateSource = CoreWetStrokeUpdateSource.Create(uwpInkPresenter.InkCanvas.InkPresenter);

                _updateSource.WetStrokeCanceled   += OnWetStrokeCanceled;
                _updateSource.WetStrokeCompleted  += OnWetStrokeCompleted;
                _updateSource.WetStrokeStarting   += OnWetStrokeStarting;
                _updateSource.WetStrokeStopping   += OnWetStrokeStopping;
                _updateSource.WetStrokeContinuing += OnWetStrokeContinuing;
            }
        }
        public Scenario8()
        {
            this.InitializeComponent();

            InkCanvas.InkPresenter.InputDeviceTypes = Windows.UI.Core.CoreInputDeviceTypes.Mouse | Windows.UI.Core.CoreInputDeviceTypes.Pen;

            var drawingAttributes = InkCanvas.InkPresenter.CopyDefaultDrawingAttributes();
            drawingAttributes.Size = new Size(penSize, penSize);
            InkCanvas.InkPresenter.UpdateDefaultDrawingAttributes(drawingAttributes);

            coreWetStrokeUpdateSource = CoreWetStrokeUpdateSource.Create(InkCanvas.InkPresenter);
            coreWetStrokeUpdateSource.WetStrokeStarting += CoreWetStrokeUpdateSource_WetStrokeStarting;
            coreWetStrokeUpdateSource.WetStrokeContinuing += CoreWetStrokeUpdateSource_WetStrokeContinuing;
            coreWetStrokeUpdateSource.WetStrokeStopping += CoreWetStrokeUpdateSource_WetStrokeStopping;
            coreWetStrokeUpdateSource.WetStrokeCompleted += CoreWetStrokeUpdateSource_WetStrokeCompleted;
            coreWetStrokeUpdateSource.WetStrokeCanceled += CoreWetStrokeUpdateSource_WetStrokeCanceled;
        }
Esempio n. 14
0
        public Scenario8()
        {
            this.InitializeComponent();

            inkCanvas.InkPresenter.InputDeviceTypes = Windows.UI.Core.CoreInputDeviceTypes.Mouse | Windows.UI.Core.CoreInputDeviceTypes.Pen;

            var drawingAttributes = inkCanvas.InkPresenter.CopyDefaultDrawingAttributes();

            drawingAttributes.Size = new Size(penSize, penSize);
            inkCanvas.InkPresenter.UpdateDefaultDrawingAttributes(drawingAttributes);

            coreWetStrokeUpdateSource = CoreWetStrokeUpdateSource.Create(inkCanvas.InkPresenter);
            coreWetStrokeUpdateSource.WetStrokeStarting   += CoreWetStrokeUpdateSource_WetStrokeStarting;
            coreWetStrokeUpdateSource.WetStrokeContinuing += CoreWetStrokeUpdateSource_WetStrokeContinuing;
            coreWetStrokeUpdateSource.WetStrokeStopping   += CoreWetStrokeUpdateSource_WetStrokeStopping;
            coreWetStrokeUpdateSource.WetStrokeCompleted  += CoreWetStrokeUpdateSource_WetStrokeCompleted;
            coreWetStrokeUpdateSource.WetStrokeCanceled   += CoreWetStrokeUpdateSource_WetStrokeCanceled;
        }
Esempio n. 15
0
        public MainPage()
        {
            ViewModel = new MainViewModel(new InkPageDataprovider(), new SettingsDataProvider(), InkCanvas_GeometrySketch, Rectangle_Eraser);
            this.InitializeComponent();
            CurrentThread = CoreWindow.GetForCurrentThread().Dispatcher;

            this.Loaded            += MainPage_Loaded;
            App.Current.Suspending += Current_Suspending;
            SystemNavigationManagerPreview.GetForCurrentView().CloseRequested += this.OnCloseRequest;
            CD_SaveQuery = new ContentDialog()
            {
                Title               = "GeometrySketch",
                Content             = "Wollen Sie die aktuelle Skizze zuerst speichern?",
                PrimaryButtonText   = "Ja",
                SecondaryButtonText = "Nein",
                CloseButtonText     = "Abbrechen",
                RequestedTheme      = ViewModel.CurrentTheme,
            };

            Lineal = new InkPresenterRuler(InkCanvas_GeometrySketch.InkPresenter)
            {
                Length              = 2000,
                Width               = 175,
                IsVisible           = false,
                IsCompassVisible    = true,
                AreTickMarksVisible = false
            };
            Zirkel = new InkPresenterProtractor(InkCanvas_GeometrySketch.InkPresenter)
            {
                IsVisible             = false,
                IsAngleReadoutVisible = false,
            };

            coreInkIndependentInputSource = CoreInkIndependentInputSource.Create(InkCanvas_GeometrySketch.InkPresenter);
            coreWetStrokeUpdateSource     = CoreWetStrokeUpdateSource.Create(InkCanvas_GeometrySketch.InkPresenter);
            InkCanvas_GeometrySketch.InkPresenter.InputDeviceTypes  = CoreInputDeviceTypes.Pen | CoreInputDeviceTypes.Mouse;
            InkCanvas_GeometrySketch.InkPresenter.StrokesErased    += InkPresenter_StrokesErased;
            InkCanvas_GeometrySketch.InkPresenter.StrokesCollected += InkPresenter_StrokesCollected;

            InkCanvas_GeometrySketch.InkPresenter.InputProcessingConfiguration.RightDragAction = InkInputRightDragAction.LeaveUnprocessed;
            InkCanvas_GeometrySketch.InkPresenter.UnprocessedInput.PointerEntered += UnprocessedInput_PointerEntered;
        }
Esempio n. 16
0
        void OnStrokeStarting(CoreWetStrokeUpdateSource sender, CoreWetStrokeUpdateEventArgs args)
        {
            // as the stroke is starting, reset our member variables which store
            // which X or Y point we want to snap to.
            this.snapX = this.snapY = null;

            // I am assuming that we do get a first ink point.
            InkPoint firstPoint = args.NewInkPoints.First();

            // now decide whether we need to set up a snap point for the X value or
            // one for the Y value.
            if (this.currentMode == Mode.SnapX)
            {
                this.snapX = this.NearestGridSizeMultiple(firstPoint.Position.X);
            }
            else if (this.currentMode == Mode.SnapY)
            {
                this.snapY = this.NearestGridSizeMultiple(firstPoint.Position.Y);
            }
            this.SnapPoints(args.NewInkPoints);
        }
        private void CoreWetStrokeUpdateSource_WetStrokeStopping(CoreWetStrokeUpdateSource sender, CoreWetStrokeUpdateEventArgs args)
        {
            if (followCircle)
            {
                HandleFollowCircleInput(args);
            }
            else
            {
                HandleRegularInput(args);
            }

            disableFollowCircle = false;
        }
Esempio n. 18
0
 private void CoreWetStrokeUpdateSource_WetStrokeCanceled(CoreWetStrokeUpdateSource sender, CoreWetStrokeUpdateEventArgs args)
 {
     followCircle        = false;
     discontinueStroke   = false;
     disableFollowCircle = false;
 }
 private void CoreWetStrokeUpdateSource_WetStrokeCanceled(CoreWetStrokeUpdateSource sender, CoreWetStrokeUpdateEventArgs args)
 {
     followCircle = false;
     discontinueStroke = false;
     disableFollowCircle = false;
 }
Esempio n. 20
0
 void OnStrokeContinuing(CoreWetStrokeUpdateSource sender, CoreWetStrokeUpdateEventArgs args)
 {
     this.SnapPoints(args.NewInkPoints);
 }