/* 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
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 *);