Пример #1
0
        private static void UpdateEventArgs(CoreWetStrokeUpdateEventArgs args, XCoreWetStrokeUpdateEventArgs updateArgs)
        {
            switch (updateArgs.Disposition)
            {
            case XCoreWetStrokeDisposition.Canceled:
                args.Disposition = CoreWetStrokeDisposition.Canceled;
                break;

            case XCoreWetStrokeDisposition.Completed:
                args.Disposition = CoreWetStrokeDisposition.Completed;
                break;

            case XCoreWetStrokeDisposition.Inking:
                args.Disposition = CoreWetStrokeDisposition.Inking;
                break;
            }

            args.NewInkPoints.Clear();

            foreach (var item in updateArgs.NewInkPoints)
            {
                args.NewInkPoints.Add(new InkPoint(
                                          new Windows.Foundation.Point(item.Position.X, item.Position.Y),
                                          item.Pressure,
                                          item.TiltX,
                                          item.TiltY,
                                          item.Timestamp));
            }
        }
Пример #2
0
        private static XCoreWetStrokeUpdateEventArgs CreateUpdateArgs(CoreWetStrokeUpdateEventArgs args)
        {
            var updateArgs = new XCoreWetStrokeUpdateEventArgs
            {
                PointerId    = args.PointerId,
                NewInkPoints = (from item in args.NewInkPoints
                                select new XInkPoint(new Xamarin.Forms.Point(item.Position.X, item.Position.Y), item.Pressure, item.TiltX, item.TiltY, item.Timestamp)).ToList()
            };

            switch (args.Disposition)
            {
            case CoreWetStrokeDisposition.Canceled:
                updateArgs.Disposition = XCoreWetStrokeDisposition.Canceled;
                break;

            case CoreWetStrokeDisposition.Completed:
                updateArgs.Disposition = XCoreWetStrokeDisposition.Completed;
                break;

            case CoreWetStrokeDisposition.Inking:
                updateArgs.Disposition = XCoreWetStrokeDisposition.Inking;
                break;
            }

            return(updateArgs);
        }
Пример #3
0
        private void OnWetStrokeCanceled(CoreWetStrokeUpdateSource sender, CoreWetStrokeUpdateEventArgs args)
        {
            XCoreWetStrokeUpdateEventArgs updateArgs = CreateUpdateArgs(args);

            InvokeWetStrokeCanceled(updateArgs);

            UpdateEventArgs(args, updateArgs);
        }