render: Rename 'cell' variables used for breaking to 'z'.
[pspp] / src / output / render.h
index af779843b9209195cc5cab8c77acff87a5bf9224..aa1980adf505f0680379a2f68b9adf2e2e21bc07 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+   Copyright (C) 2009, 2010, 2011, 2014 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -19,7 +19,7 @@
 
 #include <stdbool.h>
 #include <stddef.h>
-#include <output/table-provider.h>
+#include "output/table-provider.h"
 
 struct table;
 
@@ -78,6 +78,11 @@ struct render_params
 
     /* Width of different kinds of lines. */
     int line_widths[TABLE_N_AXES][RENDER_N_LINES];
+
+    /* Minimum cell width or height before allowing the cell to be broken
+       across two pages.  (Joined cells may always be broken at join
+       points.) */
+    int min_break[TABLE_N_AXES];
   };
 \f
 /* A "page" of content that is ready to be rendered.
@@ -93,14 +98,16 @@ void render_page_unref (struct render_page *);
 
 int render_page_get_size (const struct render_page *, enum table_axis);
 void render_page_draw (const struct render_page *);
+void render_page_draw_region (const struct render_page *,
+                              int x, int y, int w, int h);
 \f
 /* An iterator for breaking render_pages into smaller chunks. */
 struct render_break
   {
     struct render_page *page;   /* Page being broken up. */
     enum table_axis axis;       /* Axis along which 'page' is being broken. */
-    int cell;                   /* Next cell. */
-    int pixel;                  /* Pixel offset within 'cell' (usually 0). */
+    int z;                      /* Next cell along 'axis'. */
+    int pixel;                  /* Pixel offset within cell 'z' (usually 0). */
     int hw;                     /* Width of headers of 'page' along 'axis'. */
   };