/*
* doclist.c
* Copyright (C) 2004 A.J. van Os; Released under GNU GPL
*
* Description:
* Build, read and destroy list(s) of Word document information
*
* Note:
* There is no real list there is always one document per document
*/
#include "antiword.h"
#define HALF_INCH 36000L /* In millipoints */
/* Variables needed to write the Document Information List */
static document_block_type *pAnchor = NULL;
static document_block_type tInfo;
/*
* vDestroyDocumentInfoList - destroy the Document Information List
*/
void
vDestroyDocumentInfoList(void)
{
DBG_MSG("vDestroyDocumentInfoList");
pAnchor = NULL;
} /* end of vDestoryDocumentInfoList */
/*
* vCreateDocumentInfoList - create the Document Information List
*/
void
vCreateDocumentInfoList(const document_block_type *pDocument)
{
fail(pDocument == NULL);
fail(pAnchor != NULL);
tInfo = *pDocument;
pAnchor = &tInfo;
} /* end of vCreateDocumentInfoList */
/*
* lGetDefaultTabWidth - get the default tabwidth in millipoints
*/
long
lGetDefaultTabWidth(void)
{
long lDefaultTabWidth;
USHORT usTmp;
if (pAnchor == NULL) {
DBG_FIXME();
return HALF_INCH;
}
usTmp = pAnchor->usDefaultTabWidth;
lDefaultTabWidth = usTmp == 0 ? HALF_INCH : lTwips2MilliPoints(usTmp);
NO_DBG_DEC(lDefaultTabWidth);
return lDefaultTabWidth;
} /* end of lGetDefaultTabWidth */
/*
* ucGetDopHdrFtrSpecification - get the Heder/footer specification
*/
UCHAR
ucGetDopHdrFtrSpecification(void)
{
if (pAnchor == NULL) {
DBG_FIXME();
return 0x00;
}
return pAnchor->ucHdrFtrSpecification;
} /* end of ucGetDopHdrFtrSpecification */
|