public static void PerformAction(DocumentWorkspace docWorkspace) { Validate.IsNotNull <DocumentWorkspace>(docWorkspace, "docWorkspace"); using (new PushNullToolMode(docWorkspace)) { GeometryList cachedClippingMask = docWorkspace.Selection.GetCachedClippingMask(); if (!cachedClippingMask.IsEmpty) { RectDouble bounds = cachedClippingMask.Bounds; if (bounds.Area >= 1.0) { PointDouble viewportCanvasOffset = docWorkspace.CanvasView.ViewportCanvasOffset; if ((docWorkspace.ApplyFunction(new CropToSelectionFunction()) == HistoryFunctionResult.Success) && (docWorkspace.ZoomBasis == ZoomBasis.ScaleFactor)) { PointDouble num3 = viewportCanvasOffset - ((VectorDouble)bounds.TopLeft); docWorkspace.CanvasView.ViewportCanvasOffset = num3; } } } } }