tab: Expand space for table options from 8 to 16 bits each.
[pspp] / src / output / tab.h
index 9371d812c652292de4fb8e64032665be96a12ab6..4bf7816fadd668563c2d18d533c59c062d5f8711 100644 (file)
@@ -68,7 +68,7 @@ struct tab_table
        however, it is a joined cell and the corresponding element of cc[]
        points to a struct tab_joined_cell. */
     void **cc;                  /* Cell contents; void *[nr][nc]. */
-    unsigned char *ct;         /* Cell types; unsigned char[nr][nc]. */
+    unsigned short *ct;                /* Cell types; unsigned short[nr][nc]. */
 
     /* Rules. */
     unsigned char *rh;         /* Horiz rules; unsigned char[nr+1][nc]. */
@@ -125,11 +125,11 @@ void tab_set_format (struct tab_table *, enum result_class, const struct fmt_spe
 struct fmt_spec;
 struct dictionary;
 union value;
-void tab_value (struct tab_table *, int c, int r, unsigned char opt,
+void tab_value (struct tab_table *, int c, int r, unsigned short opt,
                const union value *, const struct variable *,
                const struct fmt_spec *);
 
-void tab_double (struct tab_table *, int c, int r, unsigned char opt,
+void tab_double (struct tab_table *, int c, int r, unsigned short opt,
                 double v, const struct fmt_spec *, enum result_class );
 
 void tab_text (struct tab_table *, int c, int r, unsigned opt, const char *);
@@ -143,13 +143,10 @@ void tab_joint_text_format (struct tab_table *, int x1, int y1, int x2, int y2,
                             unsigned opt, const char *, ...)
      PRINTF_FORMAT (7, 8);
 
-void tab_footnote (struct tab_table *, int x, int y, const char *format, ...)
-  PRINTF_FORMAT (4, 5);
-
-void tab_subtable (struct tab_table *, int x1, int y1, int x2, int y2,
-                   unsigned opt, struct table_item *subtable);
-void tab_subtable_bare (struct tab_table *, int x1, int y1, int x2, int y2,
-                        unsigned opt, struct table_item *subtable);
+struct footnote *tab_create_footnote (struct tab_table *, size_t idx,
+                                      const char *content, const char *marker);
+void tab_add_footnote (struct tab_table *, int x, int y,
+                       const struct footnote *);
 
 bool tab_cell_is_empty (const struct tab_table *, int c, int r);