1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
/************************************************************************/
/* */
/* Row Properties. */
/* */
/************************************************************************/
# ifndef DOC_ROW_PROPS_H
# define DOC_ROW_PROPS_H
typedef struct CellProperties
{
int cpRightBoundaryTwips;
int cpRightBoundaryPixels;
int cpForegroundColor;
int cpBackgroundColor;
BorderProperties cpTopBorder;
BorderProperties cpBottomBorder;
BorderProperties cpLeftBorder;
BorderProperties cpRightBorder;
unsigned int cpShadingLevel:10;
unsigned int cpShadingPattern:4; /* (enum) */
unsigned int cpLeftInMergedRow:1;
unsigned int cpMergedWithLeft:1;
unsigned int cpTopInMergedColumn:1;
unsigned int cpMergedWithAbove:1;
unsigned int cpVerticalTextAlignment:3; /* (enum) */
} CellProperties;
# define docCopyCellProperties( cp1, cp2 ) \
( ( *(cp1)= *(cp2) ), 0 )
# define docCleanCellProperties( cp ) ( ( *(cp)= *(cp) ), 0 )
typedef struct RowProperties
{
int rpCellCount;
CellProperties * rpCells;
int rpHalfGapWidthTwips;
int rpHalfGapWidthPixels;
int rpHeightTwips;
int rpLeftIndentTwips;
int rpLeftIndentPixels;
/************************************************/
/* Row borders are not stored in the word */
/* binary format, and seem to be irrelevant: */
/************************************************/
BorderProperties rpTopBorder;
BorderProperties rpBottomBorder;
BorderProperties rpLeftBorder;
BorderProperties rpRightBorder;
BorderProperties rpHorizontalBorder;
BorderProperties rpVerticalBorder;
ItemAlignment rpAlignment:3;
unsigned int rpHasTableParagraphs:1;
unsigned int rpHasHorizontalBorders:1;
unsigned int rpHasVerticalBorders:1;
unsigned int rpIsTableHeader:1;
unsigned int rpKeepOnOnePage:1;
} RowProperties;
/************************************************************************/
/* */
/* Routine declarations. */
/* */
/************************************************************************/
extern void docInitRowProperties( RowProperties * rp );
extern void docCleanRowProperties( RowProperties * rp );
extern void docCleanInitRowProperties( RowProperties * rp );
extern int docCopyRowProperties( RowProperties * to,
const RowProperties * from );
extern int docInsertRowColumn( RowProperties * rp,
int n,
const CellProperties * cp );
extern int docAlignedColumns( const RowProperties * rp1,
const RowProperties * rp2 );
extern int docEqualRows( const RowProperties * rp1,
const RowProperties * rp2 );
# endif /* DOC_ROW_PROPS_H */
|