X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Frender.h;h=437c5a0049b169d4bae5e17f52abaee9facdd57e;hb=9654a384b04ef5c35a9a305d65357262dcf52e70;hp=deaea39f8da144d2cbc018b1f7119d02f4748727;hpb=0f18e88b65c8d63498a31fb8065f1310e43c0b37;p=pspp diff --git a/src/output/render.h b/src/output/render.h index deaea39f8d..437c5a0049 100644 --- a/src/output/render.h +++ b/src/output/render.h @@ -79,6 +79,10 @@ struct render_params /* True if the local language has a right-to-left direction, otherwise false. (Use render_direction_rtl() to find out.) */ bool rtl; + + /* True if the table is being rendered for printing (as opposed to + on-screen display). */ + bool printing; }; struct render_ops @@ -137,11 +141,19 @@ struct render_ops int bb[TABLE_N_AXES][2], int valign_offset, int spill[TABLE_N_AXES][2], int clip[TABLE_N_AXES][2]); + + /* Scales all output by FACTOR, e.g. a FACTOR of 0.5 would cause everything + subsequent to be drawn half-size. FACTOR will be greater than 0 and + less than or equal to 1. + + Optional. If NULL, the rendering engine won't try to scale output. */ + void (*scale) (void *aux, double factor); }; /* An iterator for breaking render_pages into smaller chunks. */ struct render_pager *render_pager_create (const struct render_params *, - const struct table_item *); + const struct pivot_table *, + const size_t *layer_indexes); void render_pager_destroy (struct render_pager *); bool render_pager_has_next (const struct render_pager *);