diff options
Diffstat (limited to 'render/layout.h')
-rw-r--r-- | render/layout.h | 47 |
1 files changed, 42 insertions, 5 deletions
diff --git a/render/layout.h b/render/layout.h index f4117e286..ff0da5a53 100644 --- a/render/layout.h +++ b/render/layout.h @@ -16,7 +16,8 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -/** \file +/** + * \file * HTML layout (interface). * * The main interface to the layout code is layout_document(), which takes a @@ -29,11 +30,47 @@ struct box; struct html_content; +struct gui_layout_table; +/** + * Calculate positions of boxes in a document. + * + * \param content content of type CONTENT_HTML + * \param width available width + * \param height available height + * \return true on success, false on memory exhaustion + */ bool layout_document(struct html_content *content, int width, int height); -bool layout_inline_container(struct box *box, int width, - struct box *cont, int cx, int cy, struct html_content *content); + +/** + * Layout lines of text or inline boxes with floats. + * + * \param inline_container inline container box + * \param width horizontal space available + * \param cont ancestor box which defines horizontal space, for floats + * \param cx box position relative to cont + * \param cy box position relative to cont + * \param content memory pool for any new boxes + * \return true on success, false on memory exhaustion + */ +bool layout_inline_container(struct box *box, int width, struct box *cont, int cx, int cy, struct html_content *content); + +/** + * Recursively calculate the descendant_[xy][01] values for a laid-out box tree + * and inform iframe browser windows of their size and position. + * + * \param box tree of boxes to update + */ void layout_calculate_descendant_bboxes(struct box *box); -void layout_minmax_table(struct box *table, - const struct font_functions *font_func); + +/** + * Calculate minimum and maximum width of a table. + * + * \param table box of type TABLE + * \param font_func Font functions + * \post table->min_width and table->max_width filled in, + * 0 <= table->min_width <= table->max_width + */ +void layout_minmax_table(struct box *table, const struct gui_layout_table *font_func); + #endif |