27#ifndef NETSURF_HTML_BOX_H
28#define NETSURF_HTML_BOX_H
32#include <libcss/libcss.h>
45#define UNKNOWN_WIDTH INT_MAX
46#define UNKNOWN_MAX_WIDTH INT_MAX
void(* box_construct_complete_cb)(struct html_content *c, bool success)
box_type
Type of a struct box.
box_flags
Flags for a struct box.
struct nsurl nsurl
NetSurf URL object.
Container for border values during table border calculations.
Container for box border details.
enum css_border_style_e style
border-style
css_color c
border-color value
int width
border-width (pixels)
int descendant_y1
bottom edge of descendants
int list_value
List item value.
int min_width
Width of box taking all line breaks (including margins etc).
int width
Width of content box (excluding padding etc.).
struct box * parent
Parent box, or NULL.
struct scrollbar * scroll_x
Horizontal scroll.
lwc_string * id
value of id attribute (or name for anchors)
size_t byte_offset
Byte offset within a textual representation of this content.
struct column * col
Array of table column data for TABLE only.
const char * title
Title, or NULL.
struct box * inline_end
INLINE_END box corresponding to this INLINE box, or INLINE box corresponding to this INLINE_END box.
struct box * children
First child box, or NULL.
int height
Height of content box (excluding padding etc.).
struct hlcache_handle * background
Background image for this box, or NULL if none.
struct box * float_container
If box is a float, points to box's containing block.
struct box * prev
Previous sibling box, or NULL.
struct box * list_marker
List marker box if this is a list-item, or NULL.
int margin[4]
Margin: TOP, RIGHT, BOTTOM, LEFT.
char * usemap
(Image)map to use with this object, or NULL if none
int max_width
Width that would be taken with no line breaks.
const char * target
Link target, or NULL.
int clear_level
Level below which subsequent floats must be cleared.
struct box * next_float
Next sibling float box.
css_select_results * styles
Computed styles for elements and their pseudo elements.
struct box * last
Last child box, or NULL.
struct box * next
Next sibling box, or NULL.
int descendant_x0
left edge of descendants
struct scrollbar * scroll_y
Vertical scroll.
unsigned int start_column
Start column for TABLE_CELL only.
box_type type
Type of box.
struct nsurl * href
Link, or NULL.
struct box * float_children
First float child box, or NULL.
int descendant_x1
right edge of descendants
struct browser_window * iframe
Iframe's browser_window, or NULL if none.
css_computed_style * style
Style for this box.
size_t length
Length of text.
struct object_params * object_params
Parameters for the object, or NULL.
struct hlcache_handle * object
Object in this box (usually an image), or NULL if none.
char * text
Text, or NULL if none.
int padding[4]
Padding: TOP, RIGHT, BOTTOM, LEFT.
int x
Coordinate of left padding edge relative to parent box, or relative to ancestor that contains this bo...
box_flags flags
Box flags.
int space
Width of space after current text (depends on font and size).
int cached_place_below_level
Level below which floats have been placed.
struct form_control * gadget
Form control data, or NULL if not a form control.
int descendant_y0
top edge of descendants
unsigned int rows
Number of rows for TABLE only.
struct dom_node * node
DOM node that generated this box or NULL.
unsigned int columns
Number of columns for TABLE / TABLE_CELL.
int y
Coordinate of top padding edge, relative as for x.
bool positioned
Whether all of column's cells are css positioned.
int width
Preferred width of column.
int max
Maximum width of content.
enum column::@131 type
Type of column.
int min
Minimum width of content.
Content which corresponds to a single URL.
Data specific to CONTENT_HTML.
Linked list of object element parameters.
struct object_param * next
Parameters for object element and similar elements.
struct object_param * params