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