_resizeCropZone({ x, y }, corner) {
      const {
        rectWidth,
        rectHeight,
        rectTop,
        rectLeft,
        rectBottom,
        rectRight,
        canvasWidth,
        canvasHeight,
      } = this._getCropzoneRectInfo();

      const resizeInfoMap = {
        tl: {
          width: rectRight - x,
          height: rectBottom - y,
          leftMaker: (newWidth) => rectRight - newWidth,
          topMaker: (newHeight) => rectBottom - newHeight,
          maxWidth: rectRight,
          maxHeight: rectBottom,
          scaleTo: getScaleBasis(rectLeft - x, rectTop - y),
        },
        tr: {
          width: x - rectLeft,
          height: rectBottom - y,
          leftMaker: () => rectLeft,
          topMaker: (newHeight) => rectBottom - newHeight,
          maxWidth: canvasWidth - rectLeft,
          maxHeight: rectBottom,
          scaleTo: getScaleBasis(x - rectRight, rectTop - y),
        },
        mt: {
          width: rectWidth,
          height: rectBottom - y,
          leftMaker: () => rectLeft,
          topMaker: (newHeight) => rectBottom - newHeight,
          maxWidth: canvasWidth - rectLeft,
          maxHeight: rectBottom,
          scaleTo: 'height',
        },
        ml: {
          width: rectRight - x,
          height: rectHeight,
          leftMaker: (newWidth) => rectRight - newWidth,
          topMaker: () => rectTop,
          maxWidth: rectRight,
          maxHeight: canvasHeight - rectTop,
          scaleTo: 'width',
        },
        mr: {
          width: x - rectLeft,
          height: rectHeight,
          leftMaker: () => rectLeft,
          topMaker: () => rectTop,
          maxWidth: canvasWidth - rectLeft,
          maxHeight: canvasHeight - rectTop,
          scaleTo: 'width',
        },
        mb: {
          width: rectWidth,
          height: y - rectTop,
          leftMaker: () => rectLeft,
          topMaker: () => rectTop,
          maxWidth: canvasWidth - rectLeft,
          maxHeight: canvasHeight - rectTop,
          scaleTo: 'height',
        },
        bl: {
          width: rectRight - x,
          height: y - rectTop,
          leftMaker: (newWidth) => rectRight - newWidth,
          topMaker: () => rectTop,
          maxWidth: rectRight,
          maxHeight: canvasHeight - rectTop,
          scaleTo: getScaleBasis(rectLeft - x, y - rectBottom),
        },
        br: {
          width: x - rectLeft,
          height: y - rectTop,
          leftMaker: () => rectLeft,
          topMaker: () => rectTop,
          maxWidth: canvasWidth - rectLeft,
          maxHeight: canvasHeight - rectTop,
          scaleTo: getScaleBasis(x - rectRight, y - rectBottom),
        },
      };

      return this.adjustRatioCropzoneSize(resizeInfoMap[corner]);
    }
Calc scaling dimension
@param {Object} position - Mouse position
@param {string} corner - corner type
@returns {{left: number, top: number, width: number, height: number}}
@private