X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Foutput%2Ftable.h;h=add7bf94bee3da0bad444c9b3880682d6587ffda;hb=eeb5800b97c3d4e768fb3f7cbdabf54b3bd162b4;hp=07c88874c86a47eb925089c6b9606f3859f161f4;hpb=61b107f4f5e3ee7a468c91bc7fa269e268c5bc84;p=pspp diff --git a/src/output/table.h b/src/output/table.h index 07c88874c8..add7bf94be 100644 --- a/src/output/table.h +++ b/src/output/table.h @@ -19,16 +19,16 @@ /* Tables. -. A table is a rectangular grid of cells. Cells can be joined to form larger + A table is a rectangular grid of cells. Cells can be joined to form larger cells. Rows and columns can be separated by rules of various types. Rows at the top and bottom of a table and columns at the left and right edges of a table can be designated as headers, which means that if the table must be broken across more than one page, those rows or columns are repeated on each page. - A table is not itself an output_item, and thus a table cannot by itself be - used for output, but they can be embedded inside struct table_item (see - table-item.h) for that purpose. */ + Some drivers use tables as an implementation detail of rendering pivot + tables. +*/ #include #include @@ -37,6 +37,8 @@ struct casereader; struct fmt_spec; +struct pivot_footnote; +struct pivot_value; struct pool; struct table_item; struct variable; @@ -156,6 +158,7 @@ void font_style_copy (struct pool *, struct font_style *, const struct font_style *); void font_style_uninit (struct font_style *); void font_style_dump (const struct font_style *); +bool font_style_equal (const struct font_style *, const struct font_style *); struct table_area_style { @@ -179,9 +182,6 @@ void table_area_style_free (struct table_area_style *); enum { TAB_NONE = 0, - TAB_FIX = 1 << 1, /* Use fixed font. */ - TAB_MARKUP = 1 << 2, /* Text contains Pango markup. */ - TAB_NUMERIC = 1 << 3, /* Cell contents are numeric. */ TAB_ROTATE = 1 << 4, /* Rotate cell contents 90 degrees. */ TAB_STYLE_SHIFT = 5, @@ -222,7 +222,7 @@ struct table /* Table contents. - Each array element in cc[] is ordinarily a "char *" pointer to a string. + Each array element in cc[] is ordinarily a "struct pivot_value *". If TAB_JOIN (defined in table.c) is set in ct[] for the element, however, it is a joined cell and the corresponding element of cc[] points to a struct table_cell. */ @@ -257,30 +257,10 @@ void table_box (struct table *, int f_h, int f_v, int i_h, int i_v, int x1, int y1, int x2, int y2); /* Cells. */ -void table_text (struct table *, int c, int r, unsigned opt, const char *); -void table_text_format (struct table *, int c, int r, unsigned opt, - const char *, ...) - PRINTF_FORMAT (5, 6); -void table_joint_text (struct table *, int x1, int y1, int x2, int y2, - unsigned opt, const char *); - -void table_add_subscripts (struct table *, int x, int y, - char **subscripts, size_t n_subscripts); - -/* Footnotes. - - Use table_create_footnote() to create the footnotes themselves, then use - table_add_footnote() to create a reference from a table cell to a footnote. - There are two steps because a footnote may have multiple references. */ -struct footnote *table_create_footnote (struct table *, size_t idx, - const char *content, - const char *marker, - struct table_area_style *); -void table_add_footnote (struct table *, int x, int y, - const struct footnote *); - -void table_add_style (struct table *, int x, int y, - const struct table_area_style *); +void table_put (struct table *, int x1, int y1, int x2, int y2, + unsigned opt, const struct pivot_value *); +void table_put_owned (struct table *, int x1, int y1, int x2, int y2, + unsigned opt, struct pivot_value *); bool table_cell_is_empty (const struct table *, int c, int r);