summaryrefslogtreecommitdiff
path: root/render/layout.h
diff options
context:
space:
mode:
Diffstat (limited to 'render/layout.h')
-rw-r--r--render/layout.h47
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