我有两个图形,一个在我画布的可见区域,另一个在外面(在右边)。因为我联系不上另一个人,所以不可能建立联系。是否可以在创建连接时自动滚动到右侧,这样我就可以连接到该图形?
发布于 2017-03-09 03:23:53
不幸的是,你将不得不自己处理滚动。试试这样的东西
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.
}
})发布于 2017-06-09 16:10:40
画布策略:
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);
}
}https://stackoverflow.com/questions/42518432
复制相似问题