1 /* $LynxId: TRSTable.h,v 1.16 2010/09/25 11:40:05 tom Exp $ */
2 #ifndef TRSTABLE_H
3 #define TRSTABLE_H
4 
5 #include <HTUtils.h>
6 
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10 /* TRST_MAXCOLSPAN and TRST_MAXCOLSPAN are defined in userdefs.h */ typedef struct _STable_info STable_info;
11     extern STable_info *Stbl_startTABLE(int);
12     extern int Stbl_finishTABLE(STable_info *);
13     extern void Stbl_free(STable_info *);
14     extern int Stbl_addRowToTable(STable_info *, int, int);
15     extern int Stbl_addCellToTable(STable_info *, int, int, int, int, int,
16 				   int, int);
17     extern int Stbl_finishCellInTable(STable_info *, int, int, int, int);
18     extern int Stbl_addColInfo(STable_info *, int, int, int);
19     extern int Stbl_finishColGroup(STable_info *);
20     extern int Stbl_addRowGroup(STable_info *, int);
21 
22 #define TRST_ENDCELL_ENDTD	1
23 #define TRST_ENDCELL_LINEBREAK	0
24 #define TRST_ENDCELL_MASK	1
25 #define TRST_FAKING_CELLS	2
26 #define Stbl_lineBreak(stbl,l,off,pos) Stbl_finishCellInTable(stbl, TRST_ENDCELL_LINEBREAK, l, off, pos)
27 
28     extern int Stbl_getStartLine(STable_info *);
29     extern int Stbl_getFixupPositions(STable_info *me, int lineno,
30 				      int *oldpos,
31 				      int *newpos);
32     extern short Stbl_getAlignment(STable_info *);
33 
34 #ifdef EXP_NESTED_TABLES
35     extern void Stbl_update_enclosing(STable_info *me, int max_width,
36 				      int last_lineno);
37     struct _TextAnchor;
38     extern void Stbl_set_enclosing(STable_info *me, STable_info *encl, struct _TextAnchor *last_anchor);
39     extern STable_info *Stbl_get_enclosing(STable_info *me);
40     extern struct _TextAnchor *Stbl_get_last_anchor_before(STable_info *me);
41     extern int Stbl_getStartLineDeep(STable_info *);
42 
43 #else
44 #define Stbl_getStartLineDeep(t) Stbl_getStartLine(t)
45 #endif
46 
47 #ifdef __cplusplus
48 }
49 #endif
50 #endif				/* TRSTABLE_H */
51