1 /************************************************************************/
2 /*									*/
3 /*  Bookkeeping for HYPERLINK fields.					*/
4 /*									*/
5 /************************************************************************/
6 
7 #   ifndef DOC_HYPERLINK_FIELD_H
8 #   define DOC_HYPERLINK_FIELD_H
9 
10 #   include	<utilMemoryBuffer.h>
11 #   include	"docFieldInstructions.h"
12 
13 struct DocumentField;
14 
15 typedef struct HyperlinkField
16     {
17     MemoryBuffer	hfFile;
18     MemoryBuffer	hfBookmark;
19     MemoryBuffer	hfFont;
20     } HyperlinkField;
21 
22 /************************************************************************/
23 /*									*/
24 /*  Administrative routines.						*/
25 /*									*/
26 /************************************************************************/
27 
28 extern void docInitHyperlinkField(	HyperlinkField *		hf );
29 extern void docCleanHyperlinkField(	HyperlinkField *		hf );
30 
31 extern int docGetHyperlinkField(	HyperlinkField *		hf,
32 					const struct DocumentField *	df );
33 
34 extern int docMakeHyperlinkRelative(	struct DocumentField *	dfTo,
35 					const MemoryBuffer *	refFileName );
36 
37 extern int docSetHyperlinkField(	FieldInstructions *	fi,
38 					const HyperlinkField *	hf );
39 
40 extern int docHyperlinkFieldIsLink(	const HyperlinkField *		hf );
41 extern int docHyperlinkFieldIsExtern(	const HyperlinkField *		hf );
42 
43 extern int docEqualHyperlinkFields(	const HyperlinkField *		hf1,
44 					const HyperlinkField *		hf2 );
45 
46 extern int docCopyHyperlinkField(	HyperlinkField *		to,
47 					const HyperlinkField *		from );
48 
49 #   endif /*  DOC_HYPERLINK_FIELD_H  */
50