GestureStroke HandleRegularStroke(Stroke stroke, GestureNormalizeSettings settings) { var points = lineReducer.ReduceLine(stroke.Points, tolerance, targetNormalizationPointCount); points = TranslateGestureToOrigin(points, settings.GestureCenter); points = ScaleGesture(points, settings.WidthNormalizeFactor, settings.HeightNormalizeFactor); return(new GestureStroke(points.ToArray())); }
GestureStroke HandleDotStroke(Stroke stroke, GestureNormalizeSettings settings) { var point = stroke.Points.First(); var points = TranslateGestureToOrigin(new List <Vector2> { point }, settings.GestureCenter); points = ScaleGesture(points, settings.WidthNormalizeFactor, settings.HeightNormalizeFactor); return(GestureStroke.AsDot(points[0])); }
GestureStroke NormalizeStroke(Stroke stroke, GestureNormalizeSettings settings) { return(GestureRecognizer.IsDot(stroke, targetNormalizationPointCount) ? HandleDotStroke(stroke, settings) : HandleRegularStroke(stroke, settings)); }