public void setCropShape(CropImageView.CropShape cropShape) {
    if (mCropShape != cropShape) {
      mCropShape = cropShape;
      if (Build.VERSION.SDK_INT >= 11 && Build.VERSION.SDK_INT <= 17) {
        if (mCropShape == CropImageView.CropShape.OVAL) {
          mOriginalLayerType = getLayerType();
          if (mOriginalLayerType != View.LAYER_TYPE_SOFTWARE) {
            // TURN off hardware acceleration
            setLayerType(View.LAYER_TYPE_SOFTWARE, null);
          } else {
            mOriginalLayerType = null;
          }
        } else if (mOriginalLayerType != null) {
          // return hardware acceleration back
          setLayerType(mOriginalLayerType, null);
          mOriginalLayerType = null;
        }
      }
      invalidate();
    }
  }
The shape of the cropping area - rectangle/circular.
core/src/main/java/com/theartofdev/edmodo/cropper/CropOverlayView.java