diff options
| author | Simon Tatham <anakin@pobox.com> | 2001-12-04 21:12:40 +0000 |
|---|---|---|
| committer | Simon Tatham <anakin@pobox.com> | 2001-12-04 21:12:40 +0000 |
| commit | 5e3a21913b6a47e78d3e4edd4238d028b90827b7 (patch) | |
| tree | cfb3f25b5643cb957014f64aa831c27cf9a308eb /buttress.h | |
| parent | 087e9915b987f1cd6eb679521f87fa3e5b2b9d96 (diff) | |
| download | halibut-5e3a21913b6a47e78d3e4edd4238d028b90827b7.zip halibut-5e3a21913b6a47e78d3e4edd4238d028b90827b7.tar.gz halibut-5e3a21913b6a47e78d3e4edd4238d028b90827b7.tar.bz2 halibut-5e3a21913b6a47e78d3e4edd4238d028b90827b7.tar.xz | |
This update should bring the Windows Help back end up to
near-complete functionality. All that's missing now is indexing and
horizontal rules.
[originally from svn r1449]
Diffstat (limited to 'buttress.h')
| -rw-r--r-- | buttress.h | 31 |
1 files changed, 19 insertions, 12 deletions
@@ -34,7 +34,7 @@ typedef struct keywordlist_Tag keywordlist; typedef struct keyword_Tag keyword; typedef struct userstyle_Tag userstyle; typedef struct numberstate_Tag numberstate; -typedef struct index_Tag index; +typedef struct indexdata_Tag indexdata; typedef struct indextag_Tag indextag; typedef struct indexentry_Tag indexentry; typedef struct macrostack_Tag macrostack; @@ -83,6 +83,8 @@ struct paragraph_Tag { word *kwtext2; /* numeric-only form of kwtext */ filepos fpos; + paragraph *parent, *child, *sibling; /* for hierarchy navigation */ + void *private_data; /* for temp use in backends */ }; enum { @@ -224,6 +226,7 @@ void sfree(void *p); void free_word_list(word *w); void free_para_list(paragraph *p); word *dup_word_list(word *w); +char *dupstr(char *s); #define mknew(type) ( (type *) smalloc (sizeof (type)) ) #define mknewa(type, number) ( (type *) smalloc ((number) * sizeof (type)) ) @@ -309,7 +312,7 @@ void wrap_free(wrappedline *); /* * input.c */ -paragraph *read_input(input *in, index *idx); +paragraph *read_input(input *in, indexdata *idx); /* * keywords.c @@ -340,7 +343,7 @@ void subst_keywords(paragraph *, keywordlist *); /* * Data structure to hold both sides of the index. */ -struct index_Tag { +struct indexdata_Tag { tree234 *tags; /* holds type `indextag' */ tree234 *entries; /* holds type `indexentry' */ }; @@ -365,21 +368,20 @@ struct indexentry_Tag { void *backend_data; /* private to back end */ }; -index *make_index(void); -void cleanup_index(index *); +indexdata *make_index(void); +void cleanup_index(indexdata *); /* index_merge takes responsibility for freeing arg 3 iff implicit; never * takes responsibility for arg 2 */ -void index_merge(index *, int is_explicit, wchar_t *, word *); -void build_index(index *); -void index_debug(index *); +void index_merge(indexdata *, int is_explicit, wchar_t *, word *); +void build_index(indexdata *); +void index_debug(indexdata *); /* * contents.c */ numberstate *number_init(void); void number_cfg(numberstate *, paragraph *); -word *number_mktext(numberstate *, int, int, wchar_t *, - int, word **, filepos, int *); +word *number_mktext(numberstate *, paragraph *, wchar_t *, int , int *); void number_free(numberstate *); /* @@ -396,11 +398,16 @@ struct userstyle_Tag { /* * bk_text.c */ -void text_backend(paragraph *, keywordlist *, index *); +void text_backend(paragraph *, keywordlist *, indexdata *); /* * bk_xhtml.c */ -void xhtml_backend(paragraph *, keywordlist *, index *); +void xhtml_backend(paragraph *, keywordlist *, indexdata *); + +/* + * bk_whlp.c + */ +void whlp_backend(paragraph *, keywordlist *, indexdata *); #endif |