Skip to content

Commit 1542414

Browse files
committed
Fix for issue jacomyal#9 in jacomyal/sigma.js, solved by clamping displayX and displayY after resizing according to maxNodeSize
1 parent 8331c7e commit 1542414

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

src/core/graph.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -439,6 +439,11 @@ function Graph() {
439439
Math.min(w / Math.max(xMax - xMin, 1),
440440
h / Math.max(yMax - yMin, 1));
441441

442+
xMax += self.p.maxNodeSize;
443+
xMin -= self.p.maxNodeSize;
444+
yMax += self.p.maxNodeSize;
445+
yMin -= self.p.maxNodeSize;
446+
442447
// Size homothetic parameters:
443448
var a, b;
444449
if (!self.p.maxNodeSize && !self.p.minNodeSize) {
@@ -471,6 +476,17 @@ function Graph() {
471476
if (!node['fixed']) {
472477
node['displayX'] = (node['x'] - (xMax + xMin) / 2) * scale + w / 2;
473478
node['displayY'] = (node['y'] - (yMax + yMin) / 2) * scale + h / 2;
479+
480+
if(node['displayX'] < self.p.maxNodeSize) {
481+
node['displayX'] += self.p.maxNodeSize;
482+
} else if(node['displayX'] >= (w - self.p.maxNodeSize)) {
483+
node['displayX'] -= self.p.maxNodeSize;
484+
}
485+
if(node['displayY'] < self.p.maxNodeSize) {
486+
node['displayY'] += self.p.maxNodeSize;
487+
} else if(node['displayY'] >= (h - self.p.maxNodeSize)) {
488+
node['displayY'] -= self.p.maxNodeSize;
489+
}
474490
}
475491
});
476492

0 commit comments

Comments
 (0)