Minor layout speed tweak

master
Gordon Williams 2021-09-29 09:20:56 +01:00
parent c88614399d
commit c96ae6c8ae
1 changed files with 4 additions and 4 deletions

View File

@ -240,13 +240,13 @@ Layout.prototype.layout = function (l) {
var acc_w = l.x + (0|l.pad); var acc_w = l.x + (0|l.pad);
var accfillx = 0; var accfillx = 0;
var fillx = l.c && l.c.reduce((a,l)=>a+(0|l.fillx),0); var fillx = l.c && l.c.reduce((a,l)=>a+(0|l.fillx),0);
if (!fillx) { acc_w += (l.w-l._w)>>1; } if (!fillx) { acc_w += (l.w-l._w)>>1; fillx=1; }
var x = acc_w; var x = acc_w;
l.c.forEach(c => { l.c.forEach(c => {
c.x = 0|x; c.x = 0|x;
acc_w += c._w; acc_w += c._w;
accfillx += 0|c.fillx; accfillx += 0|c.fillx;
x = acc_w + Math.floor(accfillx*(l.w-l._w)/(fillx||1)); x = acc_w + Math.floor(accfillx*(l.w-l._w)/fillx);
c.w = 0|(x - c.x); c.w = 0|(x - c.x);
c.h = 0|(c.filly ? l.h - (l.pad<<1) : c._h); c.h = 0|(c.filly ? l.h - (l.pad<<1) : c._h);
c.y = 0|(l.y + (0|l.pad) + ((1+(0|c.valign))*(l.h-(l.pad<<1)-c.h)>>1)); c.y = 0|(l.y + (0|l.pad) + ((1+(0|c.valign))*(l.h-(l.pad<<1)-c.h)>>1));
@ -258,13 +258,13 @@ Layout.prototype.layout = function (l) {
var acc_h = l.y + (0|l.pad); var acc_h = l.y + (0|l.pad);
var accfilly = 0; var accfilly = 0;
var filly = l.c && l.c.reduce((a,l)=>a+(0|l.filly),0); var filly = l.c && l.c.reduce((a,l)=>a+(0|l.filly),0);
if (!filly) { acc_h += (l.h-l._h)>>1; } if (!filly) { acc_h += (l.h-l._h)>>1; filly=1; }
var y = acc_h; var y = acc_h;
l.c.forEach(c => { l.c.forEach(c => {
c.y = 0|y; c.y = 0|y;
acc_h += c._h; acc_h += c._h;
accfilly += 0|c.filly; accfilly += 0|c.filly;
y = acc_h + Math.floor(accfilly*(l.h-l._h)/(filly||1)); y = acc_h + Math.floor(accfilly*(l.h-l._h)/filly);
c.h = 0|(y - c.y); c.h = 0|(y - c.y);
c.w = 0|(c.fillx ? l.w - (l.pad<<1) : c._w); c.w = 0|(c.fillx ? l.w - (l.pad<<1) : c._w);
c.x = 0|(l.x + (0|l.pad) + ((1+(0|c.halign))*(l.w-(l.pad<<1)-c.w)>>1)); c.x = 0|(l.x + (0|l.pad) + ((1+(0|c.halign))*(l.w-(l.pad<<1)-c.w)>>1));