private void surface_MouseUp(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { IsCreating = false; IsMoving = false; if (!CurrentArea.IsEmpty) { if (!IsCurrentAreaValid) { RemoveCurrentArea(); CheckHover(); } else if (surface.Config.QuickCrop) { surface.UpdateRegionPath(); surface.Close(SurfaceResult.Region); } else { SelectArea(); } } if (!CurrentHoverArea.IsEmpty) { Areas.Add(CurrentHoverArea); SelectedAreaIndex = Areas.Count - 1; if (surface.Config.QuickCrop) { surface.UpdateRegionPath(); surface.Close(SurfaceResult.Region); } else { SelectArea(); } } } else if (e.Button == MouseButtons.Right) { int areaIndex = AreaIntersect(); if (areaIndex > -1) { Areas.RemoveAt(areaIndex); DeselectArea(); } else { surface.Close(SurfaceResult.Close); } } }
private void EndRegionSelection() { IsCreating = false; IsMoving = false; if (!CurrentArea.IsEmpty) { if (!IsCurrentAreaValid) { RemoveCurrentArea(); CheckHover(); } else if (surface.Config.QuickCrop) { surface.UpdateRegionPath(); surface.Close(SurfaceResult.Region); } else { SelectArea(); } } if (!CurrentHoverArea.IsEmpty) { AddRegionInfo(CurrentHoverArea); if (surface.Config.QuickCrop) { surface.UpdateRegionPath(); surface.Close(SurfaceResult.Region); } else { SelectArea(); } } }