public void DisplayRegionEditInProgress(CanvasDrawingSession drawingSession, List<Vector2> points, float zoomFactor)
{
if (RegionSelectionMode == SelectionMode.MagicWand)
{
// Display a magic wand selection.
var mask = GetMagicWandMask(points, zoomFactor);
var border = GetSelectionBorder(mask, zoomFactor);
drawingSession.Blend = CanvasBlend.Add;
drawingSession.DrawImage(mask, Vector2.Zero, SourceBitmap.Bounds, 0.25f);
drawingSession.Blend = CanvasBlend.SourceOver;
drawingSession.DrawImage(border);
}
else
{
// Display a geometric shape selection.
var geometry = GetSelectionGeometry(drawingSession, points);
drawingSession.Blend = CanvasBlend.Add;
drawingSession.FillGeometry(geometry, Color.FromArgb(0x20, 0xFF, 0xFF, 0xFF));
drawingSession.Blend = CanvasBlend.SourceOver;
drawingSession.DrawGeometry(geometry, Colors.Magenta, 1f / zoomFactor);
}
}