/// <summary>
        /// On pointer Moved
        /// </summary>
        /// <param name="updateArgs"></param>
        internal void OnMoved(XCoreWetStrokeUpdateEventArgs updateArgs)
        {
            WetStrokeContinuing?.Invoke(this, updateArgs);

            if (updateArgs.Disposition == XCoreWetStrokeDisposition.Completed)
            {
                WetStrokeCompleted?.Invoke(this, updateArgs);
            }
        }
        /// <summary>
        /// On Pointer pressed
        /// </summary>
        /// <param name="updateArgs"></param>
        internal void OnPressed(XCoreWetStrokeUpdateEventArgs updateArgs)
        {
            WetStrokeStarting?.Invoke(this, updateArgs);

            if (updateArgs.Disposition == XCoreWetStrokeDisposition.Canceled)
            {
                return;
            }

            WetStrokeContinuing?.Invoke(this, updateArgs);

            if (updateArgs.Disposition == XCoreWetStrokeDisposition.Completed)
            {
                WetStrokeCompleted?.Invoke(this, updateArgs);
            }
        }
 /// <summary>
 /// Invoke the WetStrokeContinuing event
 /// </summary>
 /// <param name="updateArgs">the update arguments</param>
 protected void InvokeWetStrokeContinuing(XCoreWetStrokeUpdateEventArgs updateArgs)
 {
     WetStrokeContinuing?.Invoke(this, updateArgs);
 }