@uppy/image-editor
Version:
Image editor and cropping UI
35 lines (32 loc) • 924 B
JavaScript
function limitCropboxMovementOnResize(canvas, cropboxData, prevCropbox) {
// For the left boundary
if (cropboxData.left < canvas.left) {
return {
left: canvas.left,
width: prevCropbox.left + prevCropbox.width - canvas.left
};
}
// For the top boundary
if (cropboxData.top < canvas.top) {
return {
top: canvas.top,
height: prevCropbox.top + prevCropbox.height - canvas.top
};
}
// For the right boundary
if (cropboxData.left + cropboxData.width > canvas.left + canvas.width) {
return {
left: prevCropbox.left,
width: canvas.left + canvas.width - prevCropbox.left
};
}
// For the bottom boundary
if (cropboxData.top + cropboxData.height > canvas.top + canvas.height) {
return {
top: prevCropbox.top,
height: canvas.top + canvas.height - prevCropbox.top
};
}
return null;
}
export default limitCropboxMovementOnResize;