DrawingCell.prototype._centeredPaths = function()

in web/src/drawing.js [149:176]


    DrawingCell.prototype._centeredPaths = function() {
        var minX = Infinity, maxX = -Infinity;
        var minY = Infinity, maxY = -Infinity;
        for (var i = 0; i < this._paths.length; ++i) {
            var path = this._paths[i];
            for (var j = 0; j < path.length; ++j) {
                var point = path[j];
                minX = Math.min(minX, point[0]);
                maxX = Math.max(maxX, point[0]);
                minY = Math.min(minY, point[1]);
                maxY = Math.max(maxY, point[1]);
            }
        }
        var sideLength = Math.max(maxX-minX, maxY-minY) * (1 + CENTERED_PAD);
        var topX = (maxX+minX)/2 - sideLength/2;
        var topY = (maxY+minY)/2 - sideLength/2;
        var result = [];
        for (var i = 0; i < this._paths.length; ++i) {
            var path = this._paths[i];
            var newPath = [];
            for (var j = 0; j < path.length; ++j) {
                var point = path[j];
                newPath.push([(point[0] - topX) / sideLength, (point[1] - topY) / sideLength]);
            }
            result.push(newPath);
        }
        return result;
    };