public void draw(GOut og) {
        GOut g = og.reclip(tlo, wsz);
        Coord bgc = new Coord();
        for (bgc.y = 3; bgc.y < wsz.y - 6; bgc.y += bg.sz().y) {
            for (bgc.x = 3; bgc.x < wsz.x - 6; bgc.x += bg.sz().x)
                g.image(bg, bgc, new Coord(3, 3), wsz.add(new Coord(-6, -6)));
        }
        cdraw(og.reclip(xlate(Coord.z, true), sz));
        wbox.draw(g, Coord.z, wsz);
        if (cap != null && draw_cap) {
            GOut cg = og.reclip(new Coord(0, -7), sz.add(0, 7));
            int w = cap.tex().sz().x;
            int x0 = (folded) ? (mrgn.x + (w / 2)) : (sz.x / 2) - (w / 2);
            cg.image(cl, new Coord(x0 - cl.sz().x, 0));
            cg.image(cm, new Coord(x0, 0), new Coord(w, cm.sz().y));
            cg.image(cr, new Coord(x0 + w, 0));
            cg.image(cap.tex(), new Coord(x0, 0));
        }
        super.draw(og);
    }