Rename var_array2 to stack.
[pspp] / src / output / render.h
index deaea39f8da144d2cbc018b1f7119d02f4748727..437c5a0049b169d4bae5e17f52abaee9facdd57e 100644 (file)
@@ -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 *);