Mover objeto dentro del límite del lienzo
Estoy tratando de limitar el objeto en movimiento dentro del lienzo, pero estoy teniendo dificultades para mover el objeto con área de límite en el lado superior e izquierdo y cuando escalo el objeto con un tamaño grande esa vez, tampoco puedo limitar el objeto en movimiento lado izquierdo y superior del lienzo
canvas.observe("object:moving", function(e){
var obj = e.target;
// if object is too big ignore
if(obj.currentHeight > obj.canvas.height || obj.currentWidth > obj.canvas.width){
return;
}
var halfw = obj.currentWidth/2;
var halfh = obj.currentHeight/2;
var bounds = {tl: {x: halfw, y:halfh},
br: {x: obj.canvas.width-halfw, y: obj.canvas.height-halfh}
};
// top-left corner
if(obj.top < bounds.tl.y || obj.left < bounds.tl.x){
obj.top = Math.max(obj.top, bounds.tl.y);
obj.left = Math.max(obj.left, bounds.tl.x )
}
// bot-right corner
if(obj.top > bounds.br.y || obj.left > bounds.br.x){
obj.top = Math.min(obj.top, bounds.br.y);
obj.left = Math.min(obj.left, bounds.br.x)
}
});