output: Add support for Pango markup of fonts and styles.
[pspp] / src / output / table.h
index d93c69e38cdb31b339353ab9d80f818ada96fa87..7949fedd24d4c3e986cad42e7e1ed5f4f8021b02 100644 (file)
@@ -48,28 +48,41 @@ enum
   {
     TAB_NONE = 0,
 
-    /* Alignment of cell contents. */
-    TAB_RIGHT      = 0 << 0,    /* Right justify. */
-    TAB_LEFT       = 1 << 0,    /* Left justify. */
-    TAB_CENTER     = 2 << 0,    /* Centered. */
-    TAB_ALIGNMENT  = 3 << 0,   /* Alignment mask. */
+    /* Horizontal alignment of cell contents. */
+    TAB_RIGHT      = 0 << 0,
+    TAB_LEFT       = 1 << 0,
+    TAB_CENTER     = 2 << 0,
+    TAB_HALIGN     = 3 << 0,   /* Alignment mask. */
+
+    /* Vertical alignment of cell contents. */
+    TAB_TOP        = 0 << 2,
+    TAB_MIDDLE     = 1 << 2,
+    TAB_BOTTOM     = 2 << 2,
+    TAB_VALIGN     = 3 << 2,   /* Alignment mask. */
 
     /* These flags may be combined with any alignment. */
-    TAB_EMPH       = 1 << 2,    /* Emphasize cell contents. */
-    TAB_FIX        = 1 << 3,    /* Use fixed font. */
+    TAB_EMPH       = 1 << 4,    /* Emphasize cell contents. */
+    TAB_FIX        = 1 << 5,    /* Use fixed font. */
+    TAB_MARKUP     = 1 << 6,    /* Text contains Pango markup. */
 
     /* Bits with values (1 << TAB_FIRST_AVAILABLE) and higher are
        not used, so they are available for subclasses to use as
        they wish. */
-    TAB_FIRST_AVAILABLE = 4
+    TAB_FIRST_AVAILABLE = 7
   };
 
 /* Styles for the rules around table cells. */
 enum
   {
-    TAL_0,                     /* No line. */
-    TAL_1,                     /* Single line. */
-    TAL_2,                     /* Double line. */
+    TAL_NONE,                  /* No spacing. */
+#define TAL_0 TAL_NONE
+    TAL_SOLID,
+#define TAL_1 TAL_SOLID
+    TAL_DASHED,
+    TAL_THICK,
+    TAL_THIN,
+    TAL_DOUBLE,
+#define TAL_2 TAL_DOUBLE
     N_LINES
   };
 
@@ -176,7 +189,6 @@ struct table *table_paste (struct table *, struct table *,
                            enum table_axis orientation);
 struct table *table_hpaste (struct table *left, struct table *right);
 struct table *table_vpaste (struct table *top, struct table *bottom);
-struct table *table_stomp (struct table *);
 
 /* Taking subsets of tables. */
 struct table *table_select (struct table *, int rect[TABLE_N_AXES][2]);