/* * This file is part of LibCSS * Licensed under the MIT License, * http://www.opensource.org/licenses/mit-license.php * Copyright 2009 John-Mark Bell */ #include "select/dispatch.h" #include "select/properties.h" /** * Dispatch table for properties, indexed by opcode */ struct prop_table prop_dispatch[CSS_N_PROPERTIES] = { { cascade_azimuth, set_azimuth_from_hint, initial_azimuth, compose_azimuth, 1, GROUP_AURAL }, { cascade_background_attachment, set_background_attachment_from_hint, initial_background_attachment, compose_background_attachment, 0, GROUP_NORMAL }, { cascade_background_color, set_background_color_from_hint, initial_background_color, compose_background_color, 0, GROUP_NORMAL }, { cascade_background_image, set_background_image_from_hint, initial_background_image, compose_background_image, 0, GROUP_NORMAL }, { cascade_background_position, set_background_position_from_hint, initial_background_position, compose_background_position, 0, GROUP_NORMAL }, { cascade_background_repeat, set_background_repeat_from_hint, initial_background_repeat, compose_background_repeat, 0, GROUP_NORMAL }, { cascade_border_collapse, set_border_collapse_from_hint, initial_border_collapse, compose_border_collapse, 1, GROUP_NORMAL }, { cascade_border_spacing, set_border_spacing_from_hint, initial_border_spacing, compose_border_spacing, 1, GROUP_UNCOMMON }, { cascade_border_top_color, set_border_top_color_from_hint, initial_border_top_color, compose_border_top_color, 0, GROUP_NORMAL }, { cascade_border_right_color, set_border_right_color_from_hint, initial_border_right_color, compose_border_right_color, 0, GROUP_NORMAL }, { cascade_border_bottom_color, set_border_bottom_color_from_hint, initial_border_bottom_color, compose_border_bottom_color, 0, GROUP_NORMAL }, { cascade_border_left_color, set_border_left_color_from_hint, initial_border_left_color, compose_border_left_color, 0, GROUP_NORMAL }, { cascade_border_top_style, set_border_top_style_from_hint, initial_border_top_style, compose_border_top_style, 0, GROUP_NORMAL }, { cascade_border_right_style, set_border_right_style_from_hint, initial_border_right_style, compose_border_right_style, 0, GROUP_NORMAL }, { cascade_border_bottom_style, set_border_bottom_style_from_hint, initial_border_bottom_style, compose_border_bottom_style, 0, GROUP_NORMAL }, { cascade_border_left_style, set_border_left_style_from_hint, initial_border_left_style, compose_border_left_style, 0, GROUP_NORMAL }, { cascade_border_top_width, set_border_top_width_from_hint, initial_border_top_width, compose_border_top_width, 0, GROUP_NORMAL }, { cascade_border_right_width, set_border_right_width_from_hint, initial_border_right_width, compose_border_right_width, 0, GROUP_NORMAL }, { cascade_border_bottom_width, set_border_bottom_width_from_hint, initial_border_bottom_width, compose_border_bottom_width, 0, GROUP_NORMAL }, { cascade_border_left_width, set_border_left_width_from_hint, initial_border_left_width, compose_border_left_width, 0, GROUP_NORMAL }, { cascade_bottom, set_bottom_from_hint, initial_bottom, compose_bottom, 0, GROUP_NORMAL }, { cascade_caption_side, set_caption_side_from_hint, initial_caption_side, compose_caption_side, 1, GROUP_NORMAL }, { cascade_clear, set_clear_from_hint, initial_clear, compose_clear, 0, GROUP_NORMAL }, { cascade_clip, set_clip_from_hint, initial_clip, compose_clip, 0, GROUP_UNCOMMON }, { cascade_color, set_color_from_hint, initial_color, compose_color, 1, GROUP_NORMAL }, { cascade_content, set_content_from_hint, initial_content, compose_content, 0, GROUP_UNCOMMON }, { cascade_counter_increment, set_counter_increment_from_hint, initial_counter_increment, compose_counter_increment, 0, GROUP_UNCOMMON }, { cascade_counter_reset, set_counter_reset_from_hint, initial_counter_reset, compose_counter_reset, 0, GROUP_UNCOMMON }, { cascade_cue_after, set_cue_after_from_hint, initial_cue_after, compose_cue_after, 0, GROUP_AURAL }, { cascade_cue_before, set_cue_before_from_hint, initial_cue_before, compose_cue_before, 0, GROUP_AURAL }, { cascade_cursor, set_cursor_from_hint, initial_cursor, compose_cursor, 1, GROUP_UNCOMMON }, { cascade_direction, set_direction_from_hint, initial_direction, compose_direction, 1, GROUP_NORMAL }, { cascade_display, set_display_from_hint, initial_display, compose_display, 0, GROUP_NORMAL }, { cascade_elevation, set_elevation_from_hint, initial_elevation, compose_elevation, 1, GROUP_AURAL }, { cascade_empty_cells, set_empty_cells_from_hint, initial_empty_cells, compose_empty_cells, 1, GROUP_NORMAL }, { cascade_float, set_float_from_hint, initial_float, compose_float, 0, GROUP_NORMAL }, { cascade_font_family, set_font_family_from_hint, initial_font_family, compose_font_family, 1, GROUP_NORMAL }, { cascade_font_size, set_font_size_from_hint, initial_font_size, compose_font_size, 1, GROUP_NORMAL }, { cascade_font_style, set_font_style_from_hint, initial_font_style, compose_font_style, 1, GROUP_NORMAL }, { cascade_font_variant, set_font_variant_from_hint, initial_font_variant, compose_font_variant, 1, GROUP_NORMAL }, { cascade_font_weight, set_font_weight_from_hint, initial_font_weight, compose_font_weight, 1, GROUP_NORMAL }, { cascade_height, set_height_from_hint, initial_height, compose_height, 0, GROUP_NORMAL }, { cascade_left, set_left_from_hint, initial_left, compose_left, 0, GROUP_NORMAL }, { cascade_letter_spacing, set_letter_spacing_from_hint, initial_letter_spacing, compose_letter_spacing, 1, GROUP_UNCOMMON }, { cascade_line_height, set_line_height_from_hint, initial_line_height, compose_line_height, 1, GROUP_NORMAL }, { cascade_list_style_image, set_list_style_image_from_hint, initial_list_style_image, compose_list_style_image, 1, GROUP_NORMAL }, { cascade_list_style_position, set_list_style_position_from_hint, initial_list_style_position, compose_list_style_position, 1, GROUP_NORMAL }, { cascade_list_style_type, set_list_style_type_from_hint, initial_list_style_type, compose_list_style_type, 1, GROUP_NORMAL }, { cascade_margin_top, set_margin_top_from_hint, initial_margin_top, compose_margin_top, 0, GROUP_NORMAL }, { cascade_margin_right, set_margin_right_from_hint, initial_margin_right, compose_margin_right, 0, GROUP_NORMAL }, { cascade_margin_bottom, set_margin_bottom_from_hint, initial_margin_bottom, compose_margin_bottom, 0, GROUP_NORMAL }, { cascade_margin_left, set_margin_left_from_hint, initial_margin_left, compose_margin_left, 0, GROUP_NORMAL }, { cascade_max_height, set_max_height_from_hint, initial_max_height, compose_max_height, 0, GROUP_NORMAL }, { cascade_max_width, set_max_width_from_hint, initial_max_width, compose_max_width, 0, GROUP_NORMAL }, { cascade_min_height, set_min_height_from_hint, initial_min_height, compose_min_height, 0, GROUP_NORMAL }, { cascade_min_width, set_min_width_from_hint, initial_min_width, compose_min_width, 0, GROUP_NORMAL }, { cascade_orphans, set_orphans_from_hint, initial_orphans, compose_orphans, 1, GROUP_PAGE }, { cascade_outline_color, set_outline_color_from_hint, initial_outline_color, compose_outline_color, 0, GROUP_UNCOMMON }, { cascade_outline_style, set_outline_style_from_hint, initial_outline_style, compose_outline_style, 0, GROUP_NORMAL }, { cascade_outline_width, set_outline_width_from_hint, initial_outline_width, compose_outline_width, 0, GROUP_UNCOMMON }, { cascade_overflow, set_overflow_from_hint, initial_overflow, compose_overflow, 0, GROUP_NORMAL }, { cascade_padding_top, set_padding_top_from_hint, initial_padding_top, compose_padding_top, 0, GROUP_NORMAL }, { cascade_padding_right, set_padding_right_from_hint, initial_padding_right, compose_padding_right, 0, GROUP_NORMAL }, { cascade_padding_bottom, set_padding_bottom_from_hint, initial_padding_bottom, compose_padding_bottom, 0, GROUP_NORMAL }, { cascade_padding_left, set_padding_left_from_hint, initial_padding_left, compose_padding_left, 0, GROUP_NORMAL }, { cascade_page_break_after, set_page_break_after_from_hint, initial_page_break_after, compose_page_break_after, 0, GROUP_PAGE }, { cascade_page_break_before, set_page_break_before_from_hint, initial_page_break_before, compose_page_break_before, 0, GROUP_PAGE }, { cascade_page_break_inside, set_page_break_inside_from_hint, initial_page_break_inside, compose_page_break_inside, 1, GROUP_PAGE }, { cascade_pause_after, set_pause_after_from_hint, initial_pause_after, compose_pause_after, 0, GROUP_AURAL }, { cascade_pause_before, set_pause_before_from_hint, initial_pause_before, compose_pause_before, 0, GROUP_AURAL }, { cascade_pitch_range, set_pitch_range_from_hint, initial_pitch_range, compose_pitch_range, 1, GROUP_AURAL }, { cascade_pitch, set_pitch_from_hint, initial_pitch, compose_pitch, 1, GROUP_AURAL }, { cascade_play_during, set_play_during_from_hint, initial_play_during, compose_play_during, 0, GROUP_AURAL }, { cascade_position, set_position_from_hint, initial_position, compose_position, 0, GROUP_NORMAL }, { cascade_quotes, set_quotes_from_hint, initial_quotes, compose_quotes, 1, GROUP_UNCOMMON }, { cascade_richness, set_richness_from_hint, initial_richness, compose_richness, 1, GROUP_AURAL }, { cascade_right, set_right_from_hint, initial_right, compose_right, 0, GROUP_NORMAL }, { cascade_speak_header, set_speak_header_from_hint, initial_speak_header, compose_speak_header, 1, GROUP_AURAL }, { cascade_speak_numeral, set_speak_numeral_from_hint, initial_speak_numeral, compose_speak_numeral, 1, GROUP_AURAL }, { cascade_speak_punctuation, set_speak_punctuation_from_hint, initial_speak_punctuation, compose_speak_punctuation, 1, GROUP_AURAL }, { cascade_speak, set_speak_from_hint, initial_speak, compose_speak, 1, GROUP_AURAL }, { cascade_speech_rate, set_speech_rate_from_hint, initial_speech_rate, compose_speech_rate, 1, GROUP_AURAL }, { cascade_stress, set_stress_from_hint, initial_stress, compose_stress, 1, GROUP_AURAL }, { cascade_table_layout, set_table_layout_from_hint, initial_table_layout, compose_table_layout, 0, GROUP_NORMAL }, { cascade_text_align, set_text_align_from_hint, initial_text_align, compose_text_align, 1, GROUP_NORMAL }, { cascade_text_decoration, set_text_decoration_from_hint, initial_text_decoration, compose_text_decoration, 0, GROUP_NORMAL }, { cascade_text_indent, set_text_indent_from_hint, initial_text_indent, compose_text_indent, 1, GROUP_NORMAL }, { cascade_text_transform, set_text_transform_from_hint, initial_text_transform, compose_text_transform, 1, GROUP_NORMAL }, { cascade_top, set_top_from_hint, initial_top, compose_top, 0, GROUP_NORMAL }, { cascade_unicode_bidi, set_unicode_bidi_from_hint, initial_unicode_bidi, compose_unicode_bidi, 0, GROUP_NORMAL }, { cascade_vertical_align, set_vertical_align_from_hint, initial_vertical_align, compose_vertical_align, 0, GROUP_NORMAL }, { cascade_visibility, set_visibility_from_hint, initial_visibility, compose_visibility, 1, GROUP_NORMAL }, { cascade_voice_family, set_voice_family_from_hint, initial_voice_family, compose_voice_family, 1, GROUP_AURAL }, { cascade_volume, set_volume_from_hint, initial_volume, compose_volume, 1, GROUP_AURAL }, { cascade_white_space, set_white_space_from_hint, initial_white_space, compose_white_space, 1, GROUP_NORMAL }, { cascade_widows, set_widows_from_hint, initial_widows, compose_widows, 1, GROUP_PAGE }, { cascade_width, set_width_from_hint, initial_width, compose_width, 0, GROUP_NORMAL }, { cascade_word_spacing, set_word_spacing_from_hint, initial_word_spacing, compose_word_spacing, 1, GROUP_UNCOMMON }, { cascade_z_index, set_z_index_from_hint, initial_z_index, compose_z_index, 0, GROUP_NORMAL } };