1 /* 2 * This file is part of LibCSS. 3 * Licensed under the MIT License, 4 * http://www.opensource.org/licenses/mit-license.php 5 * Copyright 2009 John-Mark Bell <jmb@netsurf-browser.org> 6 */ 7 8 #ifndef css_css__parse_properties_properties_h_ 9 #define css_css__parse_properties_properties_h_ 10 11 #include "stylesheet.h" 12 #include "lex/lex.h" 13 #include "parse/language.h" 14 #include "parse/propstrings.h" 15 16 /** 17 * Type of property handler function 18 */ 19 typedef css_error (*css_prop_handler)(css_language *c, 20 const parserutils_vector *vector, int *ctx, 21 css_style *result); 22 23 extern const css_prop_handler property_handlers[LAST_PROP + 1 - FIRST_PROP]; 24 25 css_error css__parse_align_content(css_language *c, 26 const parserutils_vector *vector, int *ctx, 27 css_style *result); 28 css_error css__parse_align_items(css_language *c, 29 const parserutils_vector *vector, int *ctx, 30 css_style *result); 31 css_error css__parse_align_self(css_language *c, 32 const parserutils_vector *vector, int *ctx, 33 css_style *result); 34 css_error css__parse_azimuth(css_language *c, 35 const parserutils_vector *vector, int *ctx, 36 css_style *result); 37 css_error css__parse_background(css_language *c, 38 const parserutils_vector *vector, int *ctx, 39 css_style *result); 40 css_error css__parse_background_attachment(css_language *c, 41 const parserutils_vector *vector, int *ctx, 42 css_style *result); 43 css_error css__parse_background_color(css_language *c, 44 const parserutils_vector *vector, int *ctx, 45 css_style *result); 46 css_error css__parse_background_image(css_language *c, 47 const parserutils_vector *vector, int *ctx, 48 css_style *result); 49 css_error css__parse_background_position(css_language *c, 50 const parserutils_vector *vector, int *ctx, 51 css_style *result); 52 css_error css__parse_background_repeat(css_language *c, 53 const parserutils_vector *vector, int *ctx, 54 css_style *result); 55 css_error css__parse_border(css_language *c, 56 const parserutils_vector *vector, int *ctx, 57 css_style *result); 58 css_error css__parse_border_bottom(css_language *c, 59 const parserutils_vector *vector, int *ctx, 60 css_style *result); 61 css_error css__parse_border_bottom_color(css_language *c, 62 const parserutils_vector *vector, int *ctx, 63 css_style *result); 64 css_error css__parse_border_bottom_style(css_language *c, 65 const parserutils_vector *vector, int *ctx, 66 css_style *result); 67 css_error css__parse_border_bottom_width(css_language *c, 68 const parserutils_vector *vector, int *ctx, 69 css_style *result); 70 css_error css__parse_border_color(css_language *c, 71 const parserutils_vector *vector, int *ctx, 72 css_style *result); 73 css_error css__parse_border_collapse(css_language *c, 74 const parserutils_vector *vector, int *ctx, 75 css_style *result); 76 css_error css__parse_border_left(css_language *c, 77 const parserutils_vector *vector, int *ctx, 78 css_style *result); 79 css_error css__parse_border_left_color(css_language *c, 80 const parserutils_vector *vector, int *ctx, 81 css_style *result); 82 css_error css__parse_border_left_style(css_language *c, 83 const parserutils_vector *vector, int *ctx, 84 css_style *result); 85 css_error css__parse_border_left_width(css_language *c, 86 const parserutils_vector *vector, int *ctx, 87 css_style *result); 88 css_error css__parse_border_right(css_language *c, 89 const parserutils_vector *vector, int *ctx, 90 css_style *result); 91 css_error css__parse_border_right_color(css_language *c, 92 const parserutils_vector *vector, int *ctx, 93 css_style *result); 94 css_error css__parse_border_right_style(css_language *c, 95 const parserutils_vector *vector, int *ctx, 96 css_style *result); 97 css_error css__parse_border_right_width(css_language *c, 98 const parserutils_vector *vector, int *ctx, 99 css_style *result); 100 css_error css__parse_border_spacing(css_language *c, 101 const parserutils_vector *vector, int *ctx, 102 css_style *result); 103 css_error css__parse_border_style(css_language *c, 104 const parserutils_vector *vector, int *ctx, 105 css_style *result); 106 css_error css__parse_border_top(css_language *c, 107 const parserutils_vector *vector, int *ctx, 108 css_style *result); 109 css_error css__parse_border_top_color(css_language *c, 110 const parserutils_vector *vector, int *ctx, 111 css_style *result); 112 css_error css__parse_border_top_style(css_language *c, 113 const parserutils_vector *vector, int *ctx, 114 css_style *result); 115 css_error css__parse_border_top_width(css_language *c, 116 const parserutils_vector *vector, int *ctx, 117 css_style *result); 118 css_error css__parse_border_width(css_language *c, 119 const parserutils_vector *vector, int *ctx, 120 css_style *result); 121 css_error css__parse_bottom(css_language *c, 122 const parserutils_vector *vector, int *ctx, 123 css_style *result); 124 css_error css__parse_box_sizing(css_language *c, 125 const parserutils_vector *vector, int *ctx, 126 css_style *result); 127 css_error css__parse_break_after(css_language *c, 128 const parserutils_vector *vector, int *ctx, 129 css_style *result); 130 css_error css__parse_break_before(css_language *c, 131 const parserutils_vector *vector, int *ctx, 132 css_style *result); 133 css_error css__parse_break_inside(css_language *c, 134 const parserutils_vector *vector, int *ctx, 135 css_style *result); 136 css_error css__parse_caption_side(css_language *c, 137 const parserutils_vector *vector, int *ctx, 138 css_style *result); 139 css_error css__parse_clear(css_language *c, 140 const parserutils_vector *vector, int *ctx, 141 css_style *result); 142 css_error css__parse_clip(css_language *c, 143 const parserutils_vector *vector, int *ctx, 144 css_style *result); 145 css_error css__parse_color(css_language *c, 146 const parserutils_vector *vector, int *ctx, 147 css_style *result); 148 css_error css__parse_columns(css_language *c, 149 const parserutils_vector *vector, int *ctx, 150 css_style *result); 151 css_error css__parse_column_count(css_language *c, 152 const parserutils_vector *vector, int *ctx, 153 css_style *result); 154 css_error css__parse_column_fill(css_language *c, 155 const parserutils_vector *vector, int *ctx, 156 css_style *result); 157 css_error css__parse_column_gap(css_language *c, 158 const parserutils_vector *vector, int *ctx, 159 css_style *result); 160 css_error css__parse_column_rule(css_language *c, 161 const parserutils_vector *vector, int *ctx, 162 css_style *result); 163 css_error css__parse_column_rule_color(css_language *c, 164 const parserutils_vector *vector, int *ctx, 165 css_style *result); 166 css_error css__parse_column_rule_style(css_language *c, 167 const parserutils_vector *vector, int *ctx, 168 css_style *result); 169 css_error css__parse_column_rule_width(css_language *c, 170 const parserutils_vector *vector, int *ctx, 171 css_style *result); 172 css_error css__parse_column_span(css_language *c, 173 const parserutils_vector *vector, int *ctx, 174 css_style *result); 175 css_error css__parse_column_width(css_language *c, 176 const parserutils_vector *vector, int *ctx, 177 css_style *result); 178 css_error css__parse_content(css_language *c, 179 const parserutils_vector *vector, int *ctx, 180 css_style *result); 181 css_error css__parse_counter_increment(css_language *c, 182 const parserutils_vector *vector, int *ctx, 183 css_style *result); 184 css_error css__parse_counter_reset(css_language *c, 185 const parserutils_vector *vector, int *ctx, 186 css_style *result); 187 css_error css__parse_cue(css_language *c, 188 const parserutils_vector *vector, int *ctx, 189 css_style *result); 190 css_error css__parse_cue_after(css_language *c, 191 const parserutils_vector *vector, int *ctx, 192 css_style *result); 193 css_error css__parse_cue_before(css_language *c, 194 const parserutils_vector *vector, int *ctx, 195 css_style *result); 196 css_error css__parse_cursor(css_language *c, 197 const parserutils_vector *vector, int *ctx, 198 css_style *result); 199 css_error css__parse_direction(css_language *c, 200 const parserutils_vector *vector, int *ctx, 201 css_style *result); 202 css_error css__parse_display(css_language *c, 203 const parserutils_vector *vector, int *ctx, 204 css_style *result); 205 css_error css__parse_elevation(css_language *c, 206 const parserutils_vector *vector, int *ctx, 207 css_style *result); 208 css_error css__parse_empty_cells(css_language *c, 209 const parserutils_vector *vector, int *ctx, 210 css_style *result); 211 css_error css__parse_flex(css_language *c, 212 const parserutils_vector *vector, int *ctx, 213 css_style *result); 214 css_error css__parse_flex_basis(css_language *c, 215 const parserutils_vector *vector, int *ctx, 216 css_style *result); 217 css_error css__parse_flex_direction(css_language *c, 218 const parserutils_vector *vector, int *ctx, 219 css_style *result); 220 css_error css__parse_flex_flow(css_language *c, 221 const parserutils_vector *vector, int *ctx, 222 css_style *result); 223 css_error css__parse_flex_grow(css_language *c, 224 const parserutils_vector *vector, int *ctx, 225 css_style *result); 226 css_error css__parse_flex_shrink(css_language *c, 227 const parserutils_vector *vector, int *ctx, 228 css_style *result); 229 css_error css__parse_flex_wrap(css_language *c, 230 const parserutils_vector *vector, int *ctx, 231 css_style *result); 232 css_error css__parse_float(css_language *c, 233 const parserutils_vector *vector, int *ctx, 234 css_style *result); 235 css_error css__parse_font(css_language *c, 236 const parserutils_vector *vector, int *ctx, 237 css_style *result); 238 css_error css__parse_font_family(css_language *c, 239 const parserutils_vector *vector, int *ctx, 240 css_style *result); 241 css_error css__parse_font_size(css_language *c, 242 const parserutils_vector *vector, int *ctx, 243 css_style *result); 244 css_error css__parse_font_style(css_language *c, 245 const parserutils_vector *vector, int *ctx, 246 css_style *result); 247 css_error css__parse_font_variant(css_language *c, 248 const parserutils_vector *vector, int *ctx, 249 css_style *result); 250 css_error css__parse_font_weight(css_language *c, 251 const parserutils_vector *vector, int *ctx, 252 css_style *result); 253 css_error css__parse_height(css_language *c, 254 const parserutils_vector *vector, int *ctx, 255 css_style *result); 256 css_error css__parse_justify_content(css_language *c, 257 const parserutils_vector *vector, int *ctx, 258 css_style *result); 259 css_error css__parse_left(css_language *c, 260 const parserutils_vector *vector, int *ctx, 261 css_style *result); 262 css_error css__parse_letter_spacing(css_language *c, 263 const parserutils_vector *vector, int *ctx, 264 css_style *result); 265 css_error css__parse_line_height(css_language *c, 266 const parserutils_vector *vector, int *ctx, 267 css_style *result); 268 css_error css__parse_list_style(css_language *c, 269 const parserutils_vector *vector, int *ctx, 270 css_style *result); 271 css_error css__parse_list_style_image(css_language *c, 272 const parserutils_vector *vector, int *ctx, 273 css_style *result); 274 css_error css__parse_list_style_position(css_language *c, 275 const parserutils_vector *vector, int *ctx, 276 css_style *result); 277 css_error css__parse_list_style_type(css_language *c, 278 const parserutils_vector *vector, int *ctx, 279 css_style *result); 280 css_error css__parse_margin(css_language *c, 281 const parserutils_vector *vector, int *ctx, 282 css_style *result); 283 css_error css__parse_margin_bottom(css_language *c, 284 const parserutils_vector *vector, int *ctx, 285 css_style *result); 286 css_error css__parse_margin_left(css_language *c, 287 const parserutils_vector *vector, int *ctx, 288 css_style *result); 289 css_error css__parse_margin_right(css_language *c, 290 const parserutils_vector *vector, int *ctx, 291 css_style *result); 292 css_error css__parse_margin_top(css_language *c, 293 const parserutils_vector *vector, int *ctx, 294 css_style *result); 295 css_error css__parse_max_height(css_language *c, 296 const parserutils_vector *vector, int *ctx, 297 css_style *result); 298 css_error css__parse_max_width(css_language *c, 299 const parserutils_vector *vector, int *ctx, 300 css_style *result); 301 css_error css__parse_min_height(css_language *c, 302 const parserutils_vector *vector, int *ctx, 303 css_style *result); 304 css_error css__parse_min_width(css_language *c, 305 const parserutils_vector *vector, int *ctx, 306 css_style *result); 307 css_error css__parse_opacity(css_language *c, 308 const parserutils_vector *vector, int *ctx, 309 css_style *result); 310 css_error css__parse_order(css_language *c, 311 const parserutils_vector *vector, int *ctx, 312 css_style *result); 313 css_error css__parse_orphans(css_language *c, 314 const parserutils_vector *vector, int *ctx, 315 css_style *result); 316 css_error css__parse_outline(css_language *c, 317 const parserutils_vector *vector, int *ctx, 318 css_style *result); 319 css_error css__parse_outline_color(css_language *c, 320 const parserutils_vector *vector, int *ctx, 321 css_style *result); 322 css_error css__parse_outline_style(css_language *c, 323 const parserutils_vector *vector, int *ctx, 324 css_style *result); 325 css_error css__parse_outline_width(css_language *c, 326 const parserutils_vector *vector, int *ctx, 327 css_style *result); 328 css_error css__parse_overflow(css_language *c, 329 const parserutils_vector *vector, int *ctx, 330 css_style *result); 331 css_error css__parse_overflow_x(css_language *c, 332 const parserutils_vector *vector, int *ctx, 333 css_style *result); 334 css_error css__parse_overflow_y(css_language *c, 335 const parserutils_vector *vector, int *ctx, 336 css_style *result); 337 css_error css__parse_padding(css_language *c, 338 const parserutils_vector *vector, int *ctx, 339 css_style *result); 340 css_error css__parse_padding_bottom(css_language *c, 341 const parserutils_vector *vector, int *ctx, 342 css_style *result); 343 css_error css__parse_padding_left(css_language *c, 344 const parserutils_vector *vector, int *ctx, 345 css_style *result); 346 css_error css__parse_padding_right(css_language *c, 347 const parserutils_vector *vector, int *ctx, 348 css_style *result); 349 css_error css__parse_padding_top(css_language *c, 350 const parserutils_vector *vector, int *ctx, 351 css_style *result); 352 css_error css__parse_page_break_after(css_language *c, 353 const parserutils_vector *vector, int *ctx, 354 css_style *result); 355 css_error css__parse_page_break_before(css_language *c, 356 const parserutils_vector *vector, int *ctx, 357 css_style *result); 358 css_error css__parse_page_break_inside(css_language *c, 359 const parserutils_vector *vector, int *ctx, 360 css_style *result); 361 css_error css__parse_pause(css_language *c, 362 const parserutils_vector *vector, int *ctx, 363 css_style *result); 364 css_error css__parse_pause_after(css_language *c, 365 const parserutils_vector *vector, int *ctx, 366 css_style *result); 367 css_error css__parse_pause_before(css_language *c, 368 const parserutils_vector *vector, int *ctx, 369 css_style *result); 370 css_error css__parse_pitch_range(css_language *c, 371 const parserutils_vector *vector, int *ctx, 372 css_style *result); 373 css_error css__parse_pitch(css_language *c, 374 const parserutils_vector *vector, int *ctx, 375 css_style *result); 376 css_error css__parse_play_during(css_language *c, 377 const parserutils_vector *vector, int *ctx, 378 css_style *result); 379 css_error css__parse_position(css_language *c, 380 const parserutils_vector *vector, int *ctx, 381 css_style *result); 382 css_error css__parse_quotes(css_language *c, 383 const parserutils_vector *vector, int *ctx, 384 css_style *result); 385 css_error css__parse_richness(css_language *c, 386 const parserutils_vector *vector, int *ctx, 387 css_style *result); 388 css_error css__parse_right(css_language *c, 389 const parserutils_vector *vector, int *ctx, 390 css_style *result); 391 css_error css__parse_speak_header(css_language *c, 392 const parserutils_vector *vector, int *ctx, 393 css_style *result); 394 css_error css__parse_speak_numeral(css_language *c, 395 const parserutils_vector *vector, int *ctx, 396 css_style *result); 397 css_error css__parse_speak_punctuation(css_language *c, 398 const parserutils_vector *vector, int *ctx, 399 css_style *result); 400 css_error css__parse_speak(css_language *c, 401 const parserutils_vector *vector, int *ctx, 402 css_style *result); 403 css_error css__parse_speech_rate(css_language *c, 404 const parserutils_vector *vector, int *ctx, 405 css_style *result); 406 css_error css__parse_stress(css_language *c, 407 const parserutils_vector *vector, int *ctx, 408 css_style *result); 409 css_error css__parse_table_layout(css_language *c, 410 const parserutils_vector *vector, int *ctx, 411 css_style *result); 412 css_error css__parse_text_align(css_language *c, 413 const parserutils_vector *vector, int *ctx, 414 css_style *result); 415 css_error css__parse_text_decoration(css_language *c, 416 const parserutils_vector *vector, int *ctx, 417 css_style *result); 418 css_error css__parse_text_indent(css_language *c, 419 const parserutils_vector *vector, int *ctx, 420 css_style *result); 421 css_error css__parse_text_transform(css_language *c, 422 const parserutils_vector *vector, int *ctx, 423 css_style *result); 424 css_error css__parse_top(css_language *c, 425 const parserutils_vector *vector, int *ctx, 426 css_style *result); 427 css_error css__parse_unicode_bidi(css_language *c, 428 const parserutils_vector *vector, int *ctx, 429 css_style *result); 430 css_error css__parse_vertical_align(css_language *c, 431 const parserutils_vector *vector, int *ctx, 432 css_style *result); 433 css_error css__parse_visibility(css_language *c, 434 const parserutils_vector *vector, int *ctx, 435 css_style *result); 436 css_error css__parse_voice_family(css_language *c, 437 const parserutils_vector *vector, int *ctx, 438 css_style *result); 439 css_error css__parse_volume(css_language *c, 440 const parserutils_vector *vector, int *ctx, 441 css_style *result); 442 css_error css__parse_white_space(css_language *c, 443 const parserutils_vector *vector, int *ctx, 444 css_style *result); 445 css_error css__parse_widows(css_language *c, 446 const parserutils_vector *vector, int *ctx, 447 css_style *result); 448 css_error css__parse_width(css_language *c, 449 const parserutils_vector *vector, int *ctx, 450 css_style *result); 451 css_error css__parse_word_spacing(css_language *c, 452 const parserutils_vector *vector, int *ctx, 453 css_style *result); 454 css_error css__parse_writing_mode(css_language *c, 455 const parserutils_vector *vector, int *ctx, 456 css_style *result); 457 css_error css__parse_z_index(css_language *c, 458 const parserutils_vector *vector, int *ctx, 459 css_style *result); 460 461 #endif 462