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