+ case CTRL_COLUMNS:
+ if (ctrl->columns.ncols != 1) {
+ ncols = ctrl->columns.ncols;
+ fprintf(stderr, " split to %d\n", ncols);
+ assert(ncols <= MAXCOLS);
+ for (j = 0; j < ncols; j++) {
+ cols[j] = cols[0];
+ if (j > 0)
+ cols[j].pos.h = cols[j-1].pos.h + cols[j-1].width + 6;
+ if (j == ncols - 1)
+ cols[j].width = curstate->width -
+ (cols[j].pos.h - curstate->pos.h);
+ else
+ cols[j].width = (curstate->width + 6) *
+ ctrl->columns.percentages[j] / 100 - 6;
+ }
+ } else {
+ fprintf(stderr, " join\n");
+ for (j = 0; j < ncols; j++)
+ if (cols[j].pos.v > cols[0].pos.v)
+ cols[0].pos.v = cols[j].pos.v;
+ cols[0].width = curstate->width;
+ ncols = 1;
+ }
+ break;