{
int x1, y1;
int x2, y2;
- int hit;
struct substring contents;
};
struct tab_table
{
struct pool *container;
+ int ref_cnt; /* Reference count. */
/* Contents. */
int col_style; /* Columns: One of TAB_COL_*. */
- int col_group; /* Number of rows per column group. */
char *title; /* Table title. */
unsigned flags; /* SOMF_*. */
int nc, nr; /* Number of columns, rows. */
/* Tables. */
struct tab_table *tab_create (int nc, int nr, int reallocable);
void tab_destroy (struct tab_table *);
+void tab_ref (struct tab_table *);
void tab_resize (struct tab_table *, int nc, int nr);
void tab_realloc (struct tab_table *, int nc, int nr);
void tab_headers (struct tab_table *, int l, int r, int t, int b);
-void tab_columns (struct tab_table *, int style, int group);
+void tab_columns (struct tab_table *, int style);
void tab_title (struct tab_table *, const char *, ...)
PRINTF_FORMAT (2, 3);
void tab_flags (struct tab_table *, unsigned);
enum
{
TAT_NONE = 0, /* No options. */
- TAT_PRINTF = 0x0100, /* Format the text string with sprintf. */
TAT_TITLE = 0x0200 | TAB_EMPH, /* Title attributes. */
TAT_NOWRAP = 0x0800 /* No text wrap (tab_output_text() only). */
};
void tab_double (struct tab_table *, int c, int r, unsigned char opt,
double v, const struct fmt_spec *);
-void tab_text (struct tab_table *, int c, int r, unsigned opt,
- const char *, ...)
+void tab_text (struct tab_table *, int c, int r, unsigned opt, const char *);
+void tab_text_format (struct tab_table *, int c, int r, unsigned opt,
+ const char *, ...)
PRINTF_FORMAT (5, 6);
+
void tab_joint_text (struct tab_table *, int x1, int y1, int x2, int y2,
- unsigned opt, const char *, ...)
+ unsigned opt, const char *);
+void tab_joint_text_format (struct tab_table *, int x1, int y1, int x2, int y2,
+ unsigned opt, const char *, ...)
PRINTF_FORMAT (7, 8);
/* Cell low-level access. */
#define tab_col(TABLE) ((TABLE)->col_ofs)
/* Simple output. */
-void tab_output_text (int options, const char *string, ...)
+void tab_output_text (int options, const char *string);
+void tab_output_text_format (int options, const char *, ...)
PRINTF_FORMAT (2, 3);
-/* Embedding the command name in the output. */
-void tab_set_command_name (const char *);
-
#endif /* tab_h */