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
|
/************************************************************************/
/* */
/* Various definitions relating to document geometry. */
/* */
/************************************************************************/
# ifndef APP_GEO_H
# define APP_GEO_H
# include <utilPropMask.h>
typedef struct DocumentRectangle
{
int drX0;
int drY0;
int drX1;
int drY1;
} DocumentRectangle;
# define RECTDEB(dr) appDebug( "%s(%3d): %s= [%d..%d x %d..%d]\n", \
__FILE__, __LINE__, #dr, \
(dr)->drX0, (dr)->drX1, \
(dr)->drY0, (dr)->drY1 )
typedef struct DocumentGeometry
{
int dgPageWideTwips;
int dgPageHighTwips;
int dgLeftMarginTwips;
int dgTopMarginTwips;
int dgRightMarginTwips;
int dgBottomMarginTwips;
int dgHeaderPositionTwips;
int dgFooterPositionTwips;
int dgGutterTwips;
} DocumentGeometry;
/************************************************************************/
/* */
/* Update masks for document geometry. */
/* */
/* NOTE: This range is continued in Ted/docBuf.h for the section and */
/* document properties. Adding a bit here may make it necessary to */
/* shift the masks there as well. */
/* */
/************************************************************************/
typedef enum GeometryProperty
{
DGprop_NONE= -1,
DGpropPAGE_WIDTH= 0,
DGpropPAGE_HEIGHT,
DGpropLEFT_MARGIN,
DGpropRIGHT_MARGIN,
DGpropTOP_MARGIN,
DGpropBOTTOM_MARGIN,
DGpropHEADER_POSITION,
DGpropFOOTER_POSITION,
DGpropGUTTER,
DGprop_COUNT
} GeometryProperty;
/************************************************************************/
/* */
/* Routine declarations. */
/* */
/************************************************************************/
extern void docInitRectangle( DocumentRectangle * dr );
extern void docUnionRectangle( DocumentRectangle * dr,
const DocumentRectangle * dr1,
const DocumentRectangle * dr2 );
extern int docIntersectRectangle( DocumentRectangle * dr,
const DocumentRectangle * dr1,
const DocumentRectangle * dr2 );
extern void appInitDocumentGeometry( DocumentGeometry * dg );
extern void appSetDocumentGeometry(
DocumentGeometry * dgTo,
const DocumentGeometry * dgFrom,
PropertyMask * doneMask,
const PropertyMask * setMask );
# endif
|