tomdodd4598

Untitled

May 7th, 2020
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.03 KB | None | 0 0
  1. double newX = window.x, newY = window.y, newW = window.width, newH = window.height;
  2.  
  3.             dragX = snapFunc.apply(dragX);
  4.             dragY = snapFunc.apply(dragY);
  5.  
  6.             double centreX = oppositeX()*window.width;
  7.             double centreY = oppositeY()*window.height;
  8.  
  9.             double draggedX = xPos*window.width + dragX;
  10.             double draggedY = yPos*window.height + dragY;
  11.  
  12.             if(isShifting && xPos != 0.5 && yPos != 0.5){ //uniform rescaling, only used on corners
  13.                 double widthMultiplier = (draggedX - centreX) / window.width;
  14.                 double heightMultiplier = (draggedY - centreY) / window.height;
  15.                 double multiplier = Math.abs(widthMultiplier) < Math.abs(heightMultiplier) ? widthMultiplier : heightMultiplier;
  16.                 double multiplierAbs = Math.abs(multiplier);
  17.  
  18.                 if(xPos == 1.0F && yPos == 1.0F) {
  19.                     draggedX = draggedX > centreX ? window.width * multiplierAbs : window.width * -multiplierAbs;
  20.                     draggedY = draggedY > centreY ? window.height * multiplierAbs : window.height * -multiplierAbs;
  21.                 }
  22.                 if(xPos == 1.0F && yPos == 0.0F){
  23.                     draggedX = draggedX > centreX ? window.width * multiplierAbs : window.width * -multiplierAbs;
  24.                     draggedY = draggedY > centreY ? window.height * multiplier : window.height * -multiplier;
  25.                 }
  26.             }
  27.  
  28.             if(xPos != 0.5) { //middle rescale boxes only change one axis
  29.                 newX += centreX;
  30.                 newW = draggedX - centreX;
  31.             }
  32.  
  33.             if(yPos != 0.5) { //middle rescale boxes only change one axis
  34.                 newY += centreY;
  35.                 newH = draggedY - centreY;
  36.             }
  37.  
  38.             if(newW < 0){ // flip negative width
  39.                 newX += newW;
  40.                 newW = -newW;
  41.             }
  42.             if(newH < 0){ // flip negative height
  43.                 newY += newH;
  44.                 newH = -newH;
  45.             }
Add Comment
Please, Sign In to add comment