in toolkit/jb/svg.js [654:689]
function createP5ToCallDrawable(node, trgWidth, trgHeight, getDrawable) {
var srcWidth = window.innerWidth;
var srcHeight = window.innerHeight;
var ctx;
var setupCalled = false;
var redrawsRequestedBeforeSetup = false;
return function(p) {
var prevRedraw = p.redraw;
p.preload = function() {};
p.setup = function() { var c = p.createCanvas(srcWidth, srcHeight);
c.addClass('p5-inner-canvas');
c.canvas.style.transform = 'scale(' + (trgWidth / srcWidth) + ',' +
(trgHeight / srcHeight) + ')';
ctx = c.drawingContext;
p.noLoop();
setupCalled = true;
if (redrawsRequestedBeforeSetup) {
//setTimeout(function() {
prevRedraw.call(p);
//}, 1);
}
}
p.draw = function() {
var drawable = getDrawable();
if (!drawable) return;
drawable.func(p, drawable.conf, ctx, { opacity: 1, blendMode: 'N' });
};
p.redraw = function() {
if (!setupCalled) {
redrawsRequestedBeforeSetup = true;
return;
}
prevRedraw.call(p);
};
}
}