This reverts commit 0c9aebb26a.
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842623
		
	
		
			
				
	
	
		
			145 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			145 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* $Id: table.h,v 1.12 2003/09/22 21:02:21 ukai Exp $ */
 | |
| #if (defined(MESCHACH) && !defined(MATRIX))
 | |
| #define MATRIX
 | |
| #endif				/* (defined(MESCHACH) && !defined(MATRIX)) */
 | |
| 
 | |
| #ifdef MATRIX
 | |
| #ifdef MESCHACH
 | |
| #include <matrix2.h>
 | |
| #else				/* not MESCHACH */
 | |
| #include "matrix.h"
 | |
| #endif				/* not MESCHACH */
 | |
| #endif				/* MATRIX */
 | |
| 
 | |
| #include "Str.h"
 | |
| 
 | |
| #define MAX_TABLE 20		/* maximum nest level of table */
 | |
| #define MAX_TABLE_N 20		/* maximum number of table in same level */
 | |
| 
 | |
| #define MAXROW 50
 | |
| #define MAXCOL 256
 | |
| 
 | |
| #define MAX_WIDTH 80
 | |
| 
 | |
| #define BORDER_NONE 0
 | |
| #define BORDER_THIN 1
 | |
| #define BORDER_THICK 2
 | |
| #define BORDER_NOWIN 3
 | |
| 
 | |
| typedef unsigned short table_attr;
 | |
| 
 | |
| /* flag */
 | |
| #define TBL_IN_ROW     1
 | |
| #define TBL_EXPAND_OK  2
 | |
| #define TBL_IN_COL     4
 | |
| 
 | |
| #define MAXCELL 20
 | |
| #define MAXROWCELL 1000
 | |
| struct table_cell {
 | |
|     short col[MAXCELL];
 | |
|     short colspan[MAXCELL];
 | |
|     short index[MAXCELL];
 | |
|     short maxcell;
 | |
|     short icell;
 | |
| #ifdef MATRIX
 | |
|     short eindex[MAXCELL];
 | |
|     short necell;
 | |
| #endif				/* MATRIX */
 | |
|     short width[MAXCELL];
 | |
|     short minimum_width[MAXCELL];
 | |
|     short fixed_width[MAXCELL];
 | |
| };
 | |
| 
 | |
| struct table_in {
 | |
|     struct table *ptr;
 | |
|     short col;
 | |
|     short row;
 | |
|     short cell;
 | |
|     short indent;
 | |
|     TextLineList *buf;
 | |
| };
 | |
| 
 | |
| struct table_linfo {
 | |
|     Lineprop prev_ctype;
 | |
|     signed char prev_spaces;
 | |
|     Str prevchar;
 | |
|     short length;
 | |
| };
 | |
| 
 | |
| struct table {
 | |
|     int row;
 | |
|     int col;
 | |
|     int maxrow;
 | |
|     int maxcol;
 | |
|     int max_rowsize;
 | |
|     int border_mode;
 | |
|     int total_width;
 | |
|     int total_height;
 | |
|     int tabcontentssize;
 | |
|     int indent;
 | |
|     int cellspacing;
 | |
|     int cellpadding;
 | |
|     int vcellpadding;
 | |
|     int vspace;
 | |
|     int flag;
 | |
| #ifdef TABLE_EXPAND
 | |
|     int real_width;
 | |
| #endif				/* TABLE_EXPAND */
 | |
|     Str caption;
 | |
| #ifdef ID_EXT
 | |
|     Str id;
 | |
| #endif
 | |
|     GeneralList ***tabdata;
 | |
|     table_attr **tabattr;
 | |
|     table_attr trattr;
 | |
| #ifdef ID_EXT
 | |
|     Str **tabidvalue;
 | |
|     Str *tridvalue;
 | |
| #endif
 | |
|     short tabwidth[MAXCOL];
 | |
|     short minimum_width[MAXCOL];
 | |
|     short fixed_width[MAXCOL];
 | |
|     struct table_cell cell;
 | |
|     short *tabheight;
 | |
|     struct table_in *tables;
 | |
|     short ntable;
 | |
|     short tables_size;
 | |
|     TextList *suspended_data;
 | |
|     /* use for counting skipped spaces */
 | |
|     struct table_linfo linfo;
 | |
| #ifdef MATRIX
 | |
|     MAT *matrix;
 | |
|     VEC *vector;
 | |
| #endif				/* MATRIX */
 | |
|     int sloppy_width;
 | |
| };
 | |
| 
 | |
| #define TBLM_PRE	RB_PRE
 | |
| #define TBLM_SCRIPT	RB_SCRIPT
 | |
| #define TBLM_STYLE	RB_STYLE
 | |
| #define TBLM_PLAIN	RB_PLAIN
 | |
| #define TBLM_NOBR	RB_NOBR
 | |
| #define TBLM_PRE_INT	RB_PRE_INT
 | |
| #define TBLM_INTXTA	RB_INTXTA
 | |
| #define TBLM_INSELECT	RB_INSELECT
 | |
| #define TBLM_PREMODE	(TBLM_PRE | TBLM_PRE_INT | TBLM_SCRIPT | TBLM_STYLE | TBLM_PLAIN | TBLM_INTXTA)
 | |
| #define TBLM_SPECIAL	(TBLM_PRE | TBLM_PRE_INT | TBLM_SCRIPT | TBLM_STYLE | TBLM_PLAIN | TBLM_NOBR)
 | |
| #define TBLM_DEL	RB_DEL
 | |
| #define TBLM_S		RB_S
 | |
| #define TBLM_ANCHOR	0x1000000
 | |
| 
 | |
| struct table_mode {
 | |
|     unsigned int pre_mode;
 | |
|     char indent_level;
 | |
|     char caption;
 | |
|     short nobr_offset;
 | |
|     char nobr_level;
 | |
|     short anchor_offset;
 | |
|     unsigned char end_tag;
 | |
| };
 | |
| 
 | |
| /* Local Variables:    */
 | |
| /* c-basic-offset: 4   */
 | |
| /* tab-width: 8        */
 | |
| /* End:                */
 |