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;
                 }
             }
         }
     }
 }