- if (text != null) {
- long ret = font.rasterizeGlyphs(text, buf, a, null, 0x777777, 0);
- minwidth = maxwidth = font.textwidth(text);
- minheight = maxheight = font.textwidth(text);
- if (ret == 0) Platform.Scheduler.add(this);
- }
- // FIXME: texture
- } else {
- if (mesh == null) {
- Log.warn(this, "generating mesh...");
- mesh = new Mesh(new Polygon(path, Affine.identity()));
- Log.warn(this, " done generating mesh.");
- }
- mesh.fill(buf, a, fillcolor, true, false);
- mesh.stroke(buf, a, strokecolor);
- //mesh.fill(buf, a, fillcolor, true, true);
+ if (mesh==null) {
+ for(Box b = getChild(0); b != null; b = b.nextSibling()) b.render(buf, a, clipFrom, clipa);
+ return;