2 #ifndef EL__DOCUMENT_HTML_RENDERER_H
3 #define EL__DOCUMENT_HTML_RENDERER_H
5 #include "document/document.h"
13 void render_html_document(struct cache_entry
*cached
, struct document
*document
, struct string
*buffer
);
16 /* Interface with parser.c */
18 enum html_special_type
{
36 /* Interface with tables.c */
38 /* This holds some context about what we're currently rendering. We only need
39 * one of these, until we start dealing with tables, at which point the table
40 * code will create short-lived parts to provide context when it calls routines
41 * in the renderer or the parser. */
43 struct document
*document
;
45 unsigned char *spaces
;
48 unsigned char *char_width
;
60 void expand_lines(struct html_context
*html_context
, struct part
*part
,
61 int x
, int y
, int lines
, color_T bgcolor
);
62 void check_html_form_hierarchy(struct part
*part
);
64 void draw_frame_hchars(struct part
*, int, int, int, unsigned char data
, color_T bgcolor
, color_T fgcolor
, struct html_context
*html_context
);
65 void draw_frame_vchars(struct part
*, int, int, int, unsigned char data
, color_T bgcolor
, color_T fgcolor
, struct html_context
*html_context
);
67 void free_table_cache(void);
69 struct part
*format_html_part(struct html_context
*html_context
, unsigned char *, unsigned char *, int, int, int, struct document
*, int, int, unsigned char *, int);