2 * This is interface for the value parser. It is intended to be used
3 * only internally inside of the CSS engine. */
5 #ifndef EL__DOCUMENT_CSS_VALUE_H
6 #define EL__DOCUMENT_CSS_VALUE_H
8 #include "document/css/property.h"
9 #include "document/css/scanner.h"
12 /** This function takes a value of a specified type from the given
13 * scanner and converts it to a reasonable struct css_property-ready
16 * It returns positive integer upon success, zero upon parse error,
17 * and moves the string pointer to the byte after the value end. */
18 int css_parse_value(struct css_property_info
*propinfo
,
19 union css_property_value
*value
,
20 struct scanner
*scanner
);
23 /* Here come the css_property_value_parsers provided. */
25 /*! Takes no parser_data. */
26 int css_parse_background_value(struct css_property_info
*propinfo
,
27 union css_property_value
*value
,
28 struct scanner
*scanner
);
30 /*! Takes no parser_data. */
31 int css_parse_color_value(struct css_property_info
*propinfo
,
32 union css_property_value
*value
,
33 struct scanner
*scanner
);
35 /*! Takes no parser_data. */
36 int css_parse_display_value(struct css_property_info
*propinfo
,
37 union css_property_value
*value
,
38 struct scanner
*scanner
);
40 /*! Takes no parser_data. */
41 int css_parse_text_decoration_value(struct css_property_info
*propinfo
,
42 union css_property_value
*value
,
43 struct scanner
*scanner
);
45 /*! Takes no parser_data. */
46 int css_parse_font_style_value(struct css_property_info
*propinfo
,
47 union css_property_value
*value
,
48 struct scanner
*scanner
);
50 /*! Takes no parser_data. */
51 int css_parse_font_weight_value(struct css_property_info
*propinfo
,
52 union css_property_value
*value
,
53 struct scanner
*scanner
);
54 /*! Takes no parser_data. */
55 int css_parse_list_style_value(struct css_property_info
*propinfo
,
56 union css_property_value
*value
,
57 struct scanner
*scanner
);
59 /*! Takes no parser_data. */
60 int css_parse_text_align_value(struct css_property_info
*propinfo
,
61 union css_property_value
*value
,
62 struct scanner
*scanner
);
64 /*! Takes no parser_data. */
65 int css_parse_white_space_value(struct css_property_info
*propinfo
,
66 union css_property_value
*value
,
67 struct scanner
*scanner
);