float rowHeight = m.rowHeights[row];
if (colWidth > 0 && elem.isVisible()) {
IDimension psize = preferredSize(elem, 0, 0); // will be cached, hints ignored
float elemWidth = (colspan > 1 || ccfg._stretch) ? colWidth :
Math.min(psize.width(), colWidth);
float elemHeight = _vstretch ? rowHeight : Math.min(psize.height(), rowHeight);
setBounds(elem, x + ccfg._halign.offset(elemWidth, colWidth),
y + _rowVAlign.offset(elemHeight, rowHeight), elemWidth, elemHeight);
}
x += (colWidth + _colgap);
if ((col += colspan) == columns) {