@uppy/image-editor
Version:
Image editor and cropping UI
33 lines (32 loc) • 1.03 kB
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;