output: Cache the script ltr versus rtl direction.
[pspp] / src / output / render.h
index cceea9e72323a95edbef1083ecf2da07740cc844..c10f23716060924897da482dc106128fbd5cdcf3 100644 (file)
@@ -100,7 +100,7 @@ struct render_params
        case) or a subregion enclosed by BB.  In the latter case only the part
        of the cell that lies within CLIP should actually be drawn, although BB
        should used to determine the layout of the cell. */
-    void (*draw_cell) (void *aux, const struct table_cell *cell,
+    void (*draw_cell) (void *aux, const struct table_cell *cell, int color_idx,
                        int bb[TABLE_N_AXES][2],
                        int spill[TABLE_N_AXES][2],
                        int clip[TABLE_N_AXES][2]);
@@ -125,7 +125,14 @@ struct render_params
        points.) */
     int min_break[TABLE_N_AXES];
 
+    /* True if the driver supports cell margins.  (If false, the rendering
+       engine will insert a small space betweeen adjacent cells that don't have
+       an intervening rule.)  */
     bool supports_margins;
+
+    /* True if the local language has a right-to-left direction, otherwise
+       false.  (Use render_direction_rtl() to find out.) */
+    bool rtl;
   };
 
 /* An iterator for breaking render_pages into smaller chunks. */