2017-02-28 1 views

답변

0

불행히도 자신 만의 스크롤링을 처리해야합니다. 이

var canvas = new draw2d.Canvas("canvas_id"); 
var scrollElement = canvas.getScrollArea(); 
var viewArea = new draw2d.geo.Rectangle(
          scrollElement.scrollLeft(), scrollElement.scrollTop(), 
          scrollElement.width() * canvas.zoomFactor, scrollElement.height() * canvas.zoomFactor); 

var outputLocator = new draw2d.layout.locator.OutputPortLocator(); 
var port = figure.createPort("output", outputLocator); 

port.on('drag', function(){ 

    if (!viewArea.contains(port.getBoundingBox())) { 
    // -- the port has moved off the visible area of the canvas so scroll the view. 
    } 
}) 
+0

안녕하세요 토마스, 나는 위의 코드로 관리하지만 다른 솔루션을 개발하지 않았다. 다른 연결 라우터와 자체 캔버스 정책을 사용하여 마우스 위치와 스크롤 막대를 내 캔버스에서 읽을 수 있습니다. 그 코드로 자동 스크롤 옵션을 만들 수 있습니다. – Dreqnoid

0

캔버스 정책 같은 것을보십시오 :

var myScroll = draw2d.policy.canvas.CanvasPolicy.extend ({ NAME: 'myScroll', 
       init: function() { 
       this._super(); 
       }, 


onMouseMove: function(the, mouseX, mouseY, shiftKey, ctrlKey) { 

     this._super(the, mouseX, mouseY, shiftKey, ctrlKey); 

     if (mouseX>the.getWidth()-100+the.getScrollLeft()) { 

      $buffer = $("#canvas").scrollLeft(); 
      $treshold = 10; 
      $("#canvas").scrollLeft($buffer+$treshold); 


     } 
}