Advertisement
jargon

Roe2Js :: "canvasCursor.js"

Jul 1st, 2024 (edited)
770
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. window.onmousemove = e => {
  3.    
  4.     canvasViewCursor ( { x: e.pageX, y: e.pageY } );
  5.  
  6. }
  7.  
  8. window.onclick = e => {
  9.    
  10.     canvasViewCursor ( { x: e.pageX, y: e.pageY } );
  11.    
  12.     [ cx, cy ] = [ cx + viewCursor.hover.x, cy + viewCursor.hover.y ];
  13. }
  14.  
  15. function canvasViewCursor ( coords ) {
  16.    
  17.     canvasCursor.x = coords.x;
  18.     canvasCursor.y = coords.y;
  19.        
  20.     var viewRangeMinX = gutterW;
  21.     var viewRangeMinY = gutterH;
  22.    
  23.     var viewRangeMaxX = gutterW + (viewConstraints.viewMaxX - viewConstraints.viewMinX + 1 ) * tileW;
  24.    
  25.     var viewRangeMaxY = gutterH + (viewConstraints.viewMaxY - viewConstraints.viewMinY + 1 ) * tileH;
  26.    
  27.     if (
  28.    
  29.     (canvasCursor.x > viewRangeMinX)
  30.     &&
  31.    
  32.     (canvasCursor.x < viewRangeMaxX)
  33.     &&
  34.  
  35.     (canvasCursor.y > viewRangeMinY)
  36.     &&
  37.        
  38.     (canvasCursor.y < viewRangeMaxY)
  39.    
  40.     )
  41.     {  
  42.         x = canvasCursor.x;
  43.         y = canvasCursor.y;
  44.  
  45.         x -= gutterW;
  46.         y -= gutterH;
  47.  
  48.         x /= tileW;
  49.         y /= tileH;
  50.  
  51.         x = Math.round(x);
  52.         y = Math.round(y);
  53.        
  54.         x += viewConstraints.viewMinX;
  55.         y += viewConstraints.viewMinY;
  56.  
  57.     }else{
  58.         x = 0;
  59.         y = 0;
  60.     }
  61.     if (oobView([x,y]) !== true){
  62.         [x,y] = oobView([x,y]);
  63.     }
  64.    
  65.     [ viewCursor.hover.x, viewCursor.hover.y ] =
  66.         [ x, y ];
  67.    
  68.     console.log({x: x, y: y});
  69.     return;
  70. }
  71.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement