Imported Robodoc.
[robodoc.git] / Source / html_generator.h
1 #ifndef ROBODOC_HTML_GENERATOR_H
2 #define ROBODOC_HTML_GENERATOR_H
3 /*
4 Copyright (C) 1994-2007  Frans Slothouber, Jacco van Weert, Petteri Kettunen,
5 Bernd Koesling, Thomas Aglassinger, Anthon Pang, Stefan Kost, David Druffner,
6 Sasha Vasko, Kai Hofmann, Thierry Pierron, Friedrich Haase, and Gergely Budai.
7
8 This file is part of ROBODoc
9
10 ROBODoc is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 3 of the License, or
13 (at your option) any later version.
14
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 GNU General Public License for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with this program.  If not, see <http://www.gnu.org/licenses/>.
22
23 */
24
25
26 #include "headers.h"
27 #include "items.h"
28 #include "document.h"
29
30 #define MAX_SECTION_DEPTH 7
31
32 void                RB_HTML_Generate_Label(
33     FILE *dest_doc,
34     char *name );
35 void                RB_HTML_Generate_Item_Begin(
36     FILE *dest_doc,
37     char *name );
38 void                RB_HTML_Generate_Item_End(
39     FILE *dest_doc,
40     char *name );
41 void                RB_HTML_Generate_TOC_2(
42     FILE *dest_doc,
43     struct RB_header **headers,
44     int count,
45     struct RB_Part *owner,
46     char *dest_name );
47 void                RB_HTML_Generate_BeginSection(
48     FILE *dest_doc,
49     int depth,
50     char *name,
51     struct RB_header *header );
52 void                RB_HTML_Generate_EndSection(
53     FILE *dest_doc,
54     int depth,
55     char *name );
56 char               *RB_HTML_Get_Default_Extension(
57     void );
58 void                RB_HTML_Generate_Doc_Start(
59     FILE *dest_doc,
60     char *src_name,
61     char *name,
62     char *dest_name,
63     char *charset );
64 void                RB_HTML_Generate_Doc_End(
65     FILE *dest_doc,
66     char *name,
67     char *src_name );
68 void                RB_HTML_Generate_Header_Start(
69     FILE *dest_doc,
70     struct RB_header *cur_header );
71 void                RB_HTML_Generate_Header_End(
72     FILE *dest_doc,
73     struct RB_header *cur_header );
74
75 void                RB_HTML_Generate_Index(
76     struct RB_Document *document );
77
78 void                RB_HTML_Generate_Index_Table(
79     FILE *dest,
80     char *dest_name,
81     struct RB_HeaderType *type,
82     char *title );
83
84 void                RB_HTML_Generate_Empty_Item(
85     FILE *dest );
86 void                RB_HTML_Generate_Link(
87     FILE *cur_doc,
88     char *cur_name,
89     char *filename,
90     char *labelname,
91     char *linkname,
92     char *classname );
93 void                RB_HTML_Generate_Char(
94     FILE *dest_doc,
95     int c );
96 void                RB_HTML_Generate_Item_Name(
97     FILE *dest_doc,
98     char *name );
99 char               *RB_HTML_RelativeAddress(
100     char *thisname,
101     char *thatname );
102
103 int                 RB_HTML_Generate_Extra(
104     FILE *dest_doc,
105     enum ItemType item_type,
106     char *cur_char,
107     char prev_char );
108
109 void                RB_HTML_Generate_False_Link(
110     FILE *dest_doc,
111     char *name );
112 void                RB_Create_CSS(
113     struct RB_Document *document );
114 void                RB_InsertCSS(
115     FILE *dest_doc,
116     char *filename );
117 void                RB_HTML_Generate_Nav_Bar(
118     struct RB_Document *document,
119     FILE *current_doc,
120     struct RB_header *current_header );
121
122 void                RB_HTML_Generate_Nav_Bar_One_File_Per_Header(
123     struct RB_Document *document,
124     FILE *current_doc,
125     struct RB_header *current_header );
126
127 void                HTML_Generate_Begin_Paragraph(
128     FILE *dest_doc );
129 void                HTML_Generate_End_Paragraph(
130     FILE *dest_doc );
131
132 void                HTML_Generate_Begin_Preformatted(
133     FILE *dest_doc,
134     int source );
135 void                HTML_Generate_End_Preformatted(
136     FILE *dest_doc );
137
138 void                HTML_Generate_Begin_List(
139     FILE *dest_doc );
140 void                HTML_Generate_End_List(
141     FILE *dest_doc );
142 void                HTML_Generate_Begin_List_Item(
143     FILE *dest_doc );
144 void                HTML_Generate_End_List_Item(
145     FILE *dest_doc );
146
147 void                HTML_Generate_Begin_Content(
148     FILE *dest_doc );
149 void                HTML_Generate_End_Content(
150     FILE *dest_doc );
151 void                HTML_Generate_Begin_Navigation(
152     FILE *dest_doc );
153 void                HTML_Generate_End_Navigation(
154     FILE *dest_doc );
155 void                HTML_Generate_Begin_Extra(
156     FILE *dest_doc );
157 void                HTML_Generate_End_Extra(
158     FILE *dest_doc );
159 void                RB_HTML_Generate_Line_Comment_End(
160     FILE *dest_doc );
161 void                RB_HTML_Generate_IndexMenu(
162     FILE *dest_doc,
163     char *filename,
164     struct RB_Document *document,
165     struct RB_HeaderType *cur_type );
166
167 #endif /* ROBODOC_HTML_GENERATOR_H */