#ifndef EL__DOCUMENT_HTML_FRAMES_H #define EL__DOCUMENT_HTML_FRAMES_H #include "util/box.h" struct document_options; struct session; struct uri; struct frameset_desc; struct frame_desc { struct frameset_desc *subframe; unsigned char *name; struct uri *uri; int width, height; }; struct frameset_desc { int n; /* This is an *EXOTIC* box. It doesn't say anything about the physical * dimensions, rather about the frame_desc contents. */ struct box box; struct frame_desc frame_desc[1]; /* must be last of struct. --Zas */ }; struct frameset_param { struct frameset_desc *parent; /* This x, y is a number of items in the appropriate arrays below. */ int x, y; int *width, *height; }; struct frameset_desc *create_frameset(struct frameset_param *fp); /* Adds a frame to the @parent frameset. @subframe may be NULL. */ void add_frameset_entry(struct frameset_desc *parent, struct frameset_desc *subframe, unsigned char *name, unsigned char *url); void format_frames(struct session *ses, struct frameset_desc *fsd, struct document_options *op, int depth); void parse_frame_widths(unsigned char *str, int max_value, int pixels_per_char, int **new_values, int *new_values_count); #endif