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 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
# include "appUtilConfig.h"
# include <string.h>
# include "utilDocumentGeometry.h"
# include "utilPropMask.h"
/************************************************************************/
/* */
/* Set default document geometry. */
/* */
/************************************************************************/
void appInitDocumentGeometry( DocumentGeometry * dg )
{
dg->dgPageWideTwips= 12240;
dg->dgPageHighTwips= 15840;
dg->dgLeftMarginTwips= 1800;
dg->dgTopMarginTwips= 1440;
dg->dgRightMarginTwips= 1800;
dg->dgBottomMarginTwips= 1440;
dg->dgHeaderPositionTwips= 720;
dg->dgFooterPositionTwips= 720;
dg->dgGutterTwips= 0;
}
/************************************************************************/
/* */
/* Copy a document Geometry. */
/* */
/************************************************************************/
void appSetDocumentGeometry( DocumentGeometry * dgTo,
const DocumentGeometry * dgFr,
PropertyMask * pChanged,
const PropertyMask * updMask )
{
PropertyMask changedMask;
PROPmaskCLEAR( &changedMask );
if ( PROPmaskISSET( updMask, DGpropPAGE_WIDTH ) )
{
if ( dgTo->dgPageWideTwips != dgFr->dgPageWideTwips )
{
dgTo->dgPageWideTwips= dgFr->dgPageWideTwips;
PROPmaskADD( &changedMask, DGpropPAGE_WIDTH );
}
}
if ( PROPmaskISSET( updMask, DGpropPAGE_HEIGHT ) )
{
if ( dgTo->dgPageHighTwips != dgFr->dgPageHighTwips )
{
dgTo->dgPageHighTwips= dgFr->dgPageHighTwips;
PROPmaskADD( &changedMask, DGpropPAGE_HEIGHT );
}
}
if ( PROPmaskISSET( updMask, DGpropLEFT_MARGIN ) )
{
if ( dgTo->dgLeftMarginTwips != dgFr->dgLeftMarginTwips )
{
dgTo->dgLeftMarginTwips= dgFr->dgLeftMarginTwips;
PROPmaskADD( &changedMask, DGpropLEFT_MARGIN );
}
}
if ( PROPmaskISSET( updMask, DGpropRIGHT_MARGIN ) )
{
if ( dgTo->dgRightMarginTwips != dgFr->dgRightMarginTwips )
{
dgTo->dgRightMarginTwips= dgFr->dgRightMarginTwips;
PROPmaskADD( &changedMask, DGpropRIGHT_MARGIN );
}
}
if ( PROPmaskISSET( updMask, DGpropTOP_MARGIN ) )
{
if ( dgTo->dgTopMarginTwips != dgFr->dgTopMarginTwips )
{
dgTo->dgTopMarginTwips= dgFr->dgTopMarginTwips;
PROPmaskADD( &changedMask, DGpropTOP_MARGIN );
}
}
if ( PROPmaskISSET( updMask, DGpropBOTTOM_MARGIN ) )
{
if ( dgTo->dgBottomMarginTwips != dgFr->dgBottomMarginTwips )
{
dgTo->dgBottomMarginTwips= dgFr->dgBottomMarginTwips;
PROPmaskADD( &changedMask, DGpropBOTTOM_MARGIN );
}
}
if ( PROPmaskISSET( updMask, DGpropHEADER_POSITION ) )
{
if ( dgTo->dgHeaderPositionTwips != dgFr->dgHeaderPositionTwips )
{
dgTo->dgHeaderPositionTwips= dgFr->dgHeaderPositionTwips;
PROPmaskADD( &changedMask, DGpropHEADER_POSITION );
}
}
if ( PROPmaskISSET( updMask, DGpropFOOTER_POSITION ) )
{
if ( dgTo->dgFooterPositionTwips != dgFr->dgFooterPositionTwips )
{
dgTo->dgFooterPositionTwips= dgFr->dgFooterPositionTwips;
PROPmaskADD( &changedMask, DGpropFOOTER_POSITION );
}
}
if ( PROPmaskISSET( updMask, DGpropGUTTER ) )
{
if ( dgTo->dgGutterTwips != dgFr->dgGutterTwips )
{
dgTo->dgGutterTwips= dgFr->dgGutterTwips;
PROPmaskADD( &changedMask, DGpropGUTTER );
}
}
*pChanged= changedMask;
return;
}
|