#ifndef EL__DOCUMENT_CSS_VALUE_H #define EL__DOCUMENT_CSS_VALUE_H #include "document/css/property.h" #include "document/css/scanner.h" /* This is interface for the value parser. It is intended to be used only * internally inside of the CSS engine. */ /* This function takes a value of a specified type from the given scanner and * converts it to a reasonable {struct css_property}-ready form. */ /* It returns positive integer upon success, zero upon parse error, and moves * the string pointer to the byte after the value end. */ int css_parse_value(struct css_property_info *propinfo, union css_property_value *value, struct scanner *scanner); /* Here come the css_property_value_parsers provided. */ /* Takes no parser_data. */ int css_parse_background_value(struct css_property_info *propinfo, union css_property_value *value, struct scanner *scanner); /* Takes no parser_data. */ int css_parse_color_value(struct css_property_info *propinfo, union css_property_value *value, struct scanner *scanner); /* Takes no parser_data. */ int css_parse_display_value(struct css_property_info *propinfo, union css_property_value *value, struct scanner *scanner); /* Takes no parser_data. */ int css_parse_text_decoration_value(struct css_property_info *propinfo, union css_property_value *value, struct scanner *scanner); /* Takes no parser_data. */ int css_parse_font_style_value(struct css_property_info *propinfo, union css_property_value *value, struct scanner *scanner); /* Takes no parser_data. */ int css_parse_font_weight_value(struct css_property_info *propinfo, union css_property_value *value, struct scanner *scanner); /* Takes no parser_data. */ int css_parse_text_align_value(struct css_property_info *propinfo, union css_property_value *value, struct scanner *scanner); /* Takes no parser_data. */ int css_parse_white_space_value(struct css_property_info *propinfo, union css_property_value *value, struct scanner *scanner); #endif