/*! @file * This is the main entry point for the CSS micro-engine. It throws * all the power of the stylesheets at a given element. */ #ifndef EL__DOCUMENT_CSS_APPLY_H #define EL__DOCUMENT_CSS_APPLY_H #include "util/lists.h" #ifdef __cplusplus extern "C" { #endif struct css_stylesheet; struct html_context; struct html_element; /** Gather all style information for the given @a element, so it can later be * applied. Returned value should be freed using done_css_selector(). */ struct css_selector * get_css_selector_for_element(struct html_context *html_context, struct html_element *element, struct css_stylesheet *css, LIST_OF(struct html_element) *html_stack); /** Apply properties from an existing selector. */ void apply_css_selector_style(struct html_context *html_context, struct html_element *element, struct css_selector *selector); /** This function takes @a element and applies its 'style' attribute onto its * attributes (if it contains such an attribute). */ void css_apply(struct html_context *html_context, struct html_element *element, struct css_stylesheet *css, LIST_OF(struct html_element) *html_stack); #ifdef __cplusplus } #endif #endif