Added background style

This commit is contained in:
lexborisov 2016-11-03 02:55:30 +03:00
parent 93ed21f977
commit 8f0c1c6b50
26 changed files with 1675 additions and 822 deletions

View File

@ -42,9 +42,11 @@ mycss_declaration_entry_t * mycss_declaration_entry_destroy_border_top_right_rad
mycss_declaration_entry_t * mycss_declaration_entry_destroy_border_top_left_radius(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
mycss_declaration_entry_t * mycss_declaration_entry_destroy_border_bottom_right_radius(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
mycss_declaration_entry_t * mycss_declaration_entry_destroy_border_bottom_left_radius(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_image(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_repeat(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_position(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_size(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
#ifdef __cplusplus
} /* extern "C" */

View File

@ -39,7 +39,7 @@ static mycss_callback_declaration_destroy_f mycss_declaration_entry_destroy_map_
mycss_declaration_entry_destroy_undef,
mycss_declaration_entry_destroy_undef,
mycss_declaration_entry_destroy_undef,
mycss_declaration_entry_destroy_undef,
mycss_declaration_entry_destroy_background,
mycss_declaration_entry_destroy_type_list,
mycss_declaration_entry_destroy_type_list,
mycss_declaration_entry_destroy_undef,
@ -47,7 +47,7 @@ static mycss_callback_declaration_destroy_f mycss_declaration_entry_destroy_map_
mycss_declaration_entry_destroy_type_list,
mycss_declaration_entry_destroy_background_position,
mycss_declaration_entry_destroy_background_repeat,
mycss_declaration_entry_destroy_undef,
mycss_declaration_entry_destroy_background_size,
mycss_declaration_entry_destroy_undef,
mycss_declaration_entry_destroy_undef,
mycss_declaration_entry_destroy_undef,

View File

@ -47,9 +47,11 @@ bool mycss_declaration_serialization_text_decoration_line(mycss_entry_t* entry,
bool mycss_declaration_serialization_text_decoration_skip(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
bool mycss_declaration_serialization_font_family(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
bool mycss_declaration_serialization_font(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
bool mycss_declaration_serialization_background(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
bool mycss_declaration_serialization_background_image(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
bool mycss_declaration_serialization_background_repeat(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
bool mycss_declaration_serialization_background_position(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
bool mycss_declaration_serialization_background_size(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
#ifdef __cplusplus
} /* extern "C" */

View File

@ -39,7 +39,7 @@ static mycss_declaration_serialization_f mycss_declaration_serialization_map_by_
mycss_declaration_serialization_undef,
mycss_declaration_serialization_undef,
mycss_declaration_serialization_undef,
mycss_declaration_serialization_undef,
mycss_declaration_serialization_background,
mycss_declaration_serialization_type_list,
mycss_declaration_serialization_type_list,
mycss_declaration_serialization_undef,
@ -47,7 +47,7 @@ static mycss_declaration_serialization_f mycss_declaration_serialization_map_by_
mycss_declaration_serialization_type_list,
mycss_declaration_serialization_background_position,
mycss_declaration_serialization_background_repeat,
mycss_declaration_serialization_undef,
mycss_declaration_serialization_background_size,
mycss_declaration_serialization_undef,
mycss_declaration_serialization_undef,
mycss_declaration_serialization_undef,

View File

@ -362,12 +362,12 @@ enum mycss_property_align_items {
typedef mycss_property_align_items_t;
enum mycss_property_align_self {
MyCSS_PROPERTY_ALIGN_SELF_FLEX_END = 0x0079,
MyCSS_PROPERTY_ALIGN_SELF_CENTER = 0x0037,
MyCSS_PROPERTY_ALIGN_SELF_AUTO = 0x0018,
MyCSS_PROPERTY_ALIGN_SELF_FLEX_START = 0x007a,
MyCSS_PROPERTY_ALIGN_SELF_STRETCH = 0x014c,
MyCSS_PROPERTY_ALIGN_SELF_BASELINE = 0x0022
MyCSS_PROPERTY_ALIGN_SELF_BASELINE = 0x0022,
MyCSS_PROPERTY_ALIGN_SELF_CENTER = 0x0037,
MyCSS_PROPERTY_ALIGN_SELF_FLEX_END = 0x0079
}
typedef mycss_property_align_self_t;
@ -380,10 +380,10 @@ enum mycss_property_animation_direction {
typedef mycss_property_animation_direction_t;
enum mycss_property_animation_fill_mode {
MyCSS_PROPERTY_ANIMATION_FILL_MODE_BOTH = 0x002c,
MyCSS_PROPERTY_ANIMATION_FILL_MODE_NONE = 0x00d3,
MyCSS_PROPERTY_ANIMATION_FILL_MODE_FORWARDS = 0x007e,
MyCSS_PROPERTY_ANIMATION_FILL_MODE_BACKWARDS = 0x001e
MyCSS_PROPERTY_ANIMATION_FILL_MODE_BACKWARDS = 0x001e,
MyCSS_PROPERTY_ANIMATION_FILL_MODE_BOTH = 0x002c
}
typedef mycss_property_animation_fill_mode_t;
@ -399,13 +399,13 @@ enum mycss_property_animation_play_state {
typedef mycss_property_animation_play_state_t;
enum mycss_property_animation_timing_function {
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_EASE = 0x005e,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_STEP_START = 0x014a,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_EASE_IN_OUT = 0x0060,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_LINEAR = 0x00b2,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_EASE_IN = 0x005f,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_EASE_OUT = 0x0061,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_STEP_END = 0x0149,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_EASE = 0x005e,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_STEP_START = 0x014a,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_EASE_IN_OUT = 0x0060
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_STEP_END = 0x0149
}
typedef mycss_property_animation_timing_function_t;
@ -422,10 +422,16 @@ enum mycss_property_backface_visibility {
typedef mycss_property_backface_visibility_t;
enum mycss_property_background {
MyCSS_PROPERTY_BACKGROUND_REPEAT_Y = 0x0112,
MyCSS_PROPERTY_BACKGROUND_REPEAT_X = 0x0111,
MyCSS_PROPERTY_BACKGROUND_SPACE = 0x013e,
MyCSS_PROPERTY_BACKGROUND_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_CONTAIN = 0x0044,
MyCSS_PROPERTY_BACKGROUND_REPEAT_Y = 0x0112,
MyCSS_PROPERTY_BACKGROUND_INHERIT = 0x0092,
MyCSS_PROPERTY_BACKGROUND_REPEAT = 0x0110,
MyCSS_PROPERTY_BACKGROUND_INITIAL = 0x0093,
MyCSS_PROPERTY_BACKGROUND_COVER = 0x004c,
MyCSS_PROPERTY_BACKGROUND_AUTO = 0x0018,
MyCSS_PROPERTY_BACKGROUND_SPACE = 0x013e,
MyCSS_PROPERTY_BACKGROUND_ROUND = 0x0118,
MyCSS_PROPERTY_BACKGROUND_FIXED = 0x0076,
MyCSS_PROPERTY_BACKGROUND_SCROLL = 0x0126,
@ -435,12 +441,12 @@ enum mycss_property_background {
typedef mycss_property_background_t;
enum mycss_property_background_attachment {
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_SCROLL = 0x0126,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_FIXED = 0x0076,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_LOCAL = 0x00b9,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_INITIAL = 0x0093,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_INHERIT = 0x0092,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_INITIAL = 0x0093
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_LOCAL = 0x00b9,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_FIXED = 0x0076,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_SCROLL = 0x0126
}
typedef mycss_property_background_attachment_t;
@ -463,11 +469,11 @@ enum mycss_property_background_color {
typedef mycss_property_background_color_t;
enum mycss_property_background_image {
MyCSS_PROPERTY_BACKGROUND_IMAGE__IMAGE = 0x0195,
MyCSS_PROPERTY_BACKGROUND_IMAGE_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_IMAGE_INHERIT = 0x0092,
MyCSS_PROPERTY_BACKGROUND_IMAGE_INITIAL = 0x0093,
MyCSS_PROPERTY_BACKGROUND_IMAGE_NONE = 0x00d3,
MyCSS_PROPERTY_BACKGROUND_IMAGE__IMAGE = 0x0195
MyCSS_PROPERTY_BACKGROUND_IMAGE_NONE = 0x00d3
}
typedef mycss_property_background_image_t;
@ -482,34 +488,37 @@ enum mycss_property_background_origin {
typedef mycss_property_background_origin_t;
enum mycss_property_background_position {
MyCSS_PROPERTY_BACKGROUND_POSITION_INHERIT = 0x0092,
MyCSS_PROPERTY_BACKGROUND_POSITION_LEFT = 0x00ae,
MyCSS_PROPERTY_BACKGROUND_POSITION_INITIAL = 0x0093,
MyCSS_PROPERTY_BACKGROUND_POSITION_RIGHT = 0x0115,
MyCSS_PROPERTY_BACKGROUND_POSITION_CENTER = 0x0037,
MyCSS_PROPERTY_BACKGROUND_POSITION_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_POSITION_TOP = 0x0164,
MyCSS_PROPERTY_BACKGROUND_POSITION_BOTTOM = 0x002d,
MyCSS_PROPERTY_BACKGROUND_POSITION_TOP = 0x0164
MyCSS_PROPERTY_BACKGROUND_POSITION_INHERIT = 0x0092,
MyCSS_PROPERTY_BACKGROUND_POSITION_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_POSITION_INITIAL = 0x0093,
MyCSS_PROPERTY_BACKGROUND_POSITION_LEFT = 0x00ae,
MyCSS_PROPERTY_BACKGROUND_POSITION_RIGHT = 0x0115,
MyCSS_PROPERTY_BACKGROUND_POSITION_CENTER = 0x0037
}
typedef mycss_property_background_position_t;
enum mycss_property_background_repeat {
MyCSS_PROPERTY_BACKGROUND_REPEAT_REPEAT_Y = 0x0112,
MyCSS_PROPERTY_BACKGROUND_REPEAT_SPACE = 0x013e,
MyCSS_PROPERTY_BACKGROUND_REPEAT_REPEAT = 0x0110,
MyCSS_PROPERTY_BACKGROUND_REPEAT_REPEAT_X = 0x0111,
MyCSS_PROPERTY_BACKGROUND_REPEAT_ROUND = 0x0118,
MyCSS_PROPERTY_BACKGROUND_REPEAT_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_REPEAT_INHERIT = 0x0092,
MyCSS_PROPERTY_BACKGROUND_REPEAT_NO_REPEAT = 0x00e0,
MyCSS_PROPERTY_BACKGROUND_REPEAT_INITIAL = 0x0093,
MyCSS_PROPERTY_BACKGROUND_REPEAT_SPACE = 0x013e,
MyCSS_PROPERTY_BACKGROUND_REPEAT_REPEAT = 0x0110,
MyCSS_PROPERTY_BACKGROUND_REPEAT_REPEAT_X = 0x0111
MyCSS_PROPERTY_BACKGROUND_REPEAT_REPEAT_Y = 0x0112
}
typedef mycss_property_background_repeat_t;
enum mycss_property_background_size {
MyCSS_PROPERTY_BACKGROUND_SIZE_AUTO = 0x0018,
MyCSS_PROPERTY_BACKGROUND_SIZE_COVER = 0x004c,
MyCSS_PROPERTY_BACKGROUND_SIZE_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_SIZE_CONTAIN = 0x0044,
MyCSS_PROPERTY_BACKGROUND_SIZE_AUTO = 0x0018
MyCSS_PROPERTY_BACKGROUND_SIZE_INHERIT = 0x0092,
MyCSS_PROPERTY_BACKGROUND_SIZE_INITIAL = 0x0093
}
typedef mycss_property_background_size_t;
@ -519,8 +528,8 @@ enum mycss_property_bookmark_level {
typedef mycss_property_bookmark_level_t;
enum mycss_property_bookmark_state {
MyCSS_PROPERTY_BOOKMARK_STATE_CLOSED = 0x003c,
MyCSS_PROPERTY_BOOKMARK_STATE_OPEN = 0x00ea
MyCSS_PROPERTY_BOOKMARK_STATE_OPEN = 0x00ea,
MyCSS_PROPERTY_BOOKMARK_STATE_CLOSED = 0x003c
}
typedef mycss_property_bookmark_state_t;
@ -533,18 +542,18 @@ enum mycss_property_border_bottom_color {
typedef mycss_property_border_bottom_color_t;
enum mycss_property_border_bottom_left_radius {
MyCSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS__LENGTH = 0x0199,
MyCSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS_INHERIT = 0x0092
MyCSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS_INHERIT = 0x0092,
MyCSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS_UNSET = 0x016e
}
typedef mycss_property_border_bottom_left_radius_t;
enum mycss_property_border_bottom_right_radius {
MyCSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS__LENGTH = 0x0199,
MyCSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS_INHERIT = 0x0092,
MyCSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS_INITIAL = 0x0093
MyCSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS__LENGTH = 0x0199
}
typedef mycss_property_border_bottom_right_radius_t;
@ -571,8 +580,8 @@ enum mycss_property_border_bottom_width {
MyCSS_PROPERTY_BORDER_BOTTOM_WIDTH_MEDIUM = 0x00c6,
MyCSS_PROPERTY_BORDER_BOTTOM_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_BOTTOM_WIDTH_INHERIT = 0x0092,
MyCSS_PROPERTY_BORDER_BOTTOM_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_BOTTOM_WIDTH_THIN = 0x0162
MyCSS_PROPERTY_BORDER_BOTTOM_WIDTH_THIN = 0x0162,
MyCSS_PROPERTY_BORDER_BOTTOM_WIDTH_INITIAL = 0x0093
}
typedef mycss_property_border_bottom_width_t;
@ -583,10 +592,10 @@ enum mycss_property_border_collapse {
typedef mycss_property_border_collapse_t;
enum mycss_property_border_image_repeat {
MyCSS_PROPERTY_BORDER_IMAGE_REPEAT_REPEAT = 0x0110,
MyCSS_PROPERTY_BORDER_IMAGE_REPEAT_STRETCH = 0x014c,
MyCSS_PROPERTY_BORDER_IMAGE_REPEAT_SPACE = 0x013e,
MyCSS_PROPERTY_BORDER_IMAGE_REPEAT_ROUND = 0x0118,
MyCSS_PROPERTY_BORDER_IMAGE_REPEAT_REPEAT = 0x0110
MyCSS_PROPERTY_BORDER_IMAGE_REPEAT_ROUND = 0x0118
}
typedef mycss_property_border_image_repeat_t;
@ -662,13 +671,13 @@ enum mycss_property_border_right_style {
typedef mycss_property_border_right_style_t;
enum mycss_property_border_right_width {
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_THIN = 0x0162,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH__LENGTH = 0x0199,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_THICK = 0x0161,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_MEDIUM = 0x00c6,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_INHERIT = 0x0092,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_THIN = 0x0162
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_INHERIT = 0x0092
}
typedef mycss_property_border_right_width_t;
@ -706,10 +715,10 @@ enum mycss_property_border_top_left_radius {
typedef mycss_property_border_top_left_radius_t;
enum mycss_property_border_top_right_radius {
MyCSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS__LENGTH = 0x0199,
MyCSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS_INHERIT = 0x0092,
MyCSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS_INITIAL = 0x0093
MyCSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS__LENGTH = 0x0199
}
typedef mycss_property_border_top_right_radius_t;
@ -731,13 +740,13 @@ enum mycss_property_border_top_style {
typedef mycss_property_border_top_style_t;
enum mycss_property_border_top_width {
MyCSS_PROPERTY_BORDER_TOP_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_TOP_WIDTH__LENGTH = 0x0199,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_THICK = 0x0161,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_MEDIUM = 0x00c6,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_INHERIT = 0x0092,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_THIN = 0x0162
MyCSS_PROPERTY_BORDER_TOP_WIDTH_THIN = 0x0162,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_MEDIUM = 0x00c6,
MyCSS_PROPERTY_BORDER_TOP_WIDTH__LENGTH = 0x0199,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_THICK = 0x0161
}
typedef mycss_property_border_top_width_t;
@ -746,9 +755,9 @@ enum mycss_property_border_width {
MyCSS_PROPERTY_BORDER_WIDTH_MEDIUM = 0x00c6,
MyCSS_PROPERTY_BORDER_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_WIDTH_INHERIT = 0x0092,
MyCSS_PROPERTY_BORDER_WIDTH_THIN = 0x0162,
MyCSS_PROPERTY_BORDER_WIDTH__LENGTH = 0x0199,
MyCSS_PROPERTY_BORDER_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_WIDTH__LENGTH = 0x0199
MyCSS_PROPERTY_BORDER_WIDTH_THIN = 0x0162
}
typedef mycss_property_border_width_t;
@ -778,9 +787,9 @@ enum mycss_property_box_sizing {
typedef mycss_property_box_sizing_t;
enum mycss_property_box_suppress {
MyCSS_PROPERTY_BOX_SUPPRESS_SHOW = 0x012e,
MyCSS_PROPERTY_BOX_SUPPRESS_DISCARD = 0x0057,
MyCSS_PROPERTY_BOX_SUPPRESS_HIDE = 0x0089,
MyCSS_PROPERTY_BOX_SUPPRESS_SHOW = 0x012e
MyCSS_PROPERTY_BOX_SUPPRESS_HIDE = 0x0089
}
typedef mycss_property_box_suppress_t;
@ -842,21 +851,21 @@ enum mycss_property_caret_color {
typedef mycss_property_caret_color_t;
enum mycss_property_caret_shape {
MyCSS_PROPERTY_CARET_SHAPE_BAR = 0x0021,
MyCSS_PROPERTY_CARET_SHAPE_UNDERSCORE = 0x016b,
MyCSS_PROPERTY_CARET_SHAPE_AUTO = 0x0018,
MyCSS_PROPERTY_CARET_SHAPE_BLOCK = 0x0026
MyCSS_PROPERTY_CARET_SHAPE_BLOCK = 0x0026,
MyCSS_PROPERTY_CARET_SHAPE_BAR = 0x0021
}
typedef mycss_property_caret_shape_t;
enum mycss_property_clear {
MyCSS_PROPERTY_CLEAR_BOTH = 0x002c,
MyCSS_PROPERTY_CLEAR_UNSET = 0x016e,
MyCSS_PROPERTY_CLEAR_LEFT = 0x00ae,
MyCSS_PROPERTY_CLEAR_NONE = 0x00d3,
MyCSS_PROPERTY_CLEAR_INHERIT = 0x0092,
MyCSS_PROPERTY_CLEAR_INITIAL = 0x0093,
MyCSS_PROPERTY_CLEAR_RIGHT = 0x0115
MyCSS_PROPERTY_CLEAR_RIGHT = 0x0115,
MyCSS_PROPERTY_CLEAR_BOTH = 0x002c,
MyCSS_PROPERTY_CLEAR_UNSET = 0x016e
}
typedef mycss_property_clear_t;
@ -899,9 +908,9 @@ typedef mycss_property_color_interpolation_t;
enum mycss_property_color_interpolation_filters {
MyCSS_PROPERTY_COLOR_INTERPOLATION_FILTERS_INHERIT = 0x0092,
MyCSS_PROPERTY_COLOR_INTERPOLATION_FILTERS_LINEARRGB = 0x00b3,
MyCSS_PROPERTY_COLOR_INTERPOLATION_FILTERS_AUTO = 0x0018,
MyCSS_PROPERTY_COLOR_INTERPOLATION_FILTERS_SRGB = 0x0144,
MyCSS_PROPERTY_COLOR_INTERPOLATION_FILTERS_LINEARRGB = 0x00b3
MyCSS_PROPERTY_COLOR_INTERPOLATION_FILTERS_SRGB = 0x0144
}
typedef mycss_property_color_interpolation_filters_t;
@ -919,9 +928,9 @@ enum mycss_property_column_count {
typedef mycss_property_column_count_t;
enum mycss_property_column_fill {
MyCSS_PROPERTY_COLUMN_FILL_BALANCE = 0x001f,
MyCSS_PROPERTY_COLUMN_FILL_AUTO = 0x0018,
MyCSS_PROPERTY_COLUMN_FILL_BALANCE_ALL = 0x0020
MyCSS_PROPERTY_COLUMN_FILL_BALANCE_ALL = 0x0020,
MyCSS_PROPERTY_COLUMN_FILL_BALANCE = 0x001f
}
typedef mycss_property_column_fill_t;
@ -968,8 +977,8 @@ enum mycss_property_contain {
typedef mycss_property_contain_t;
enum mycss_property_content {
MyCSS_PROPERTY_CONTENT_NONE = 0x00d3,
MyCSS_PROPERTY_CONTENT_NORMAL = 0x00d5
MyCSS_PROPERTY_CONTENT_NORMAL = 0x00d5,
MyCSS_PROPERTY_CONTENT_NONE = 0x00d3
}
typedef mycss_property_content_t;
@ -998,11 +1007,6 @@ enum mycss_property_cue_before {
typedef mycss_property_cue_before_t;
enum mycss_property_cursor {
MyCSS_PROPERTY_CURSOR_CELL = 0x0036,
MyCSS_PROPERTY_CURSOR_DEFAULT = 0x0053,
MyCSS_PROPERTY_CURSOR_HELP = 0x0087,
MyCSS_PROPERTY_CURSOR_POINTER = 0x0102,
MyCSS_PROPERTY_CURSOR_CONTEXT_MENU = 0x004a,
MyCSS_PROPERTY_CURSOR_AUTO = 0x0018,
MyCSS_PROPERTY_CURSOR_NONE = 0x00d3,
MyCSS_PROPERTY_CURSOR_WAIT = 0x0178,
@ -1036,7 +1040,12 @@ enum mycss_property_cursor {
MyCSS_PROPERTY_CURSOR_ROW_RESIZE = 0x011a,
MyCSS_PROPERTY_CURSOR_ALL_SCROLL = 0x0013,
MyCSS_PROPERTY_CURSOR_ZOOM_OUT = 0x018e,
MyCSS_PROPERTY_CURSOR_INITIAL = 0x0093
MyCSS_PROPERTY_CURSOR_INITIAL = 0x0093,
MyCSS_PROPERTY_CURSOR_CELL = 0x0036,
MyCSS_PROPERTY_CURSOR_DEFAULT = 0x0053,
MyCSS_PROPERTY_CURSOR_HELP = 0x0087,
MyCSS_PROPERTY_CURSOR_POINTER = 0x0102,
MyCSS_PROPERTY_CURSOR_CONTEXT_MENU = 0x004a
}
typedef mycss_property_cursor_t;
@ -1048,6 +1057,18 @@ typedef mycss_property_direction_t;
enum mycss_property_display {
MyCSS_PROPERTY_DISPLAY_GRID = 0x0084,
MyCSS_PROPERTY_DISPLAY_INLINE_FLEX = 0x0097,
MyCSS_PROPERTY_DISPLAY_INLINE_BLOCK = 0x0096,
MyCSS_PROPERTY_DISPLAY_INLINE_TABLE = 0x009a,
MyCSS_PROPERTY_DISPLAY_RUBY_BASE_CONTAINER = 0x011f,
MyCSS_PROPERTY_DISPLAY_RUBY_TEXT_CONTAINER = 0x0121,
MyCSS_PROPERTY_DISPLAY_INLINE_LIST_ITEM = 0x0099,
MyCSS_PROPERTY_DISPLAY_INLINE_GRID = 0x0098,
MyCSS_PROPERTY_DISPLAY_TABLE = 0x0154,
MyCSS_PROPERTY_DISPLAY_RUBY_BASE = 0x011e,
MyCSS_PROPERTY_DISPLAY_NONE = 0x00d3,
MyCSS_PROPERTY_DISPLAY_TABLE_CELL = 0x0156,
MyCSS_PROPERTY_DISPLAY_TABLE_ROW_GROUP = 0x015c,
MyCSS_PROPERTY_DISPLAY_FLOW = 0x007b,
MyCSS_PROPERTY_DISPLAY_BLOCK = 0x0026,
MyCSS_PROPERTY_DISPLAY_FLOW_ROOT = 0x007c,
@ -1066,19 +1087,7 @@ enum mycss_property_display {
MyCSS_PROPERTY_DISPLAY_CONTENTS = 0x0046,
MyCSS_PROPERTY_DISPLAY_LIST_ITEM = 0x00b7,
MyCSS_PROPERTY_DISPLAY_TABLE_ROW = 0x015b,
MyCSS_PROPERTY_DISPLAY_INITIAL = 0x0093,
MyCSS_PROPERTY_DISPLAY_INLINE_FLEX = 0x0097,
MyCSS_PROPERTY_DISPLAY_INLINE_BLOCK = 0x0096,
MyCSS_PROPERTY_DISPLAY_INLINE_TABLE = 0x009a,
MyCSS_PROPERTY_DISPLAY_RUBY_BASE_CONTAINER = 0x011f,
MyCSS_PROPERTY_DISPLAY_RUBY_TEXT_CONTAINER = 0x0121,
MyCSS_PROPERTY_DISPLAY_INLINE_LIST_ITEM = 0x0099,
MyCSS_PROPERTY_DISPLAY_INLINE_GRID = 0x0098,
MyCSS_PROPERTY_DISPLAY_TABLE = 0x0154,
MyCSS_PROPERTY_DISPLAY_RUBY_BASE = 0x011e,
MyCSS_PROPERTY_DISPLAY_NONE = 0x00d3,
MyCSS_PROPERTY_DISPLAY_TABLE_CELL = 0x0156,
MyCSS_PROPERTY_DISPLAY_TABLE_ROW_GROUP = 0x015c
MyCSS_PROPERTY_DISPLAY_INITIAL = 0x0093
}
typedef mycss_property_display_t;
@ -1138,7 +1147,6 @@ enum mycss_property_flex_wrap {
typedef mycss_property_flex_wrap_t;
enum mycss_property_float {
MyCSS_PROPERTY_FLOAT_TOP = 0x0164,
MyCSS_PROPERTY_FLOAT_LEFT = 0x00ae,
MyCSS_PROPERTY_FLOAT_NONE = 0x00d3,
MyCSS_PROPERTY_FLOAT_UNSET = 0x016e,
@ -1147,7 +1155,8 @@ enum mycss_property_float {
MyCSS_PROPERTY_FLOAT_RIGHT = 0x0115,
MyCSS_PROPERTY_FLOAT_END = 0x0066,
MyCSS_PROPERTY_FLOAT_START = 0x0146,
MyCSS_PROPERTY_FLOAT_BOTTOM = 0x002d
MyCSS_PROPERTY_FLOAT_BOTTOM = 0x002d,
MyCSS_PROPERTY_FLOAT_TOP = 0x0164
}
typedef mycss_property_float_t;
@ -1272,8 +1281,6 @@ enum mycss_property_font_variant {
MyCSS_PROPERTY_FONT_VARIANT_NORMAL = 0x00d5,
MyCSS_PROPERTY_FONT_VARIANT_ALL_SMALL_CAPS = 0x0014,
MyCSS_PROPERTY_FONT_VARIANT_ORDINAL = 0x00ee,
MyCSS_PROPERTY_FONT_VARIANT_SUB = 0x0150,
MyCSS_PROPERTY_FONT_VARIANT_RUBY = 0x011d,
MyCSS_PROPERTY_FONT_VARIANT_SMALL_CAPS = 0x013a,
MyCSS_PROPERTY_FONT_VARIANT_PETITE_CAPS = 0x0100,
MyCSS_PROPERTY_FONT_VARIANT_HISTORICAL_FORMS = 0x008b,
@ -1281,13 +1288,15 @@ enum mycss_property_font_variant {
MyCSS_PROPERTY_FONT_VARIANT_ALL_PETITE_CAPS = 0x0012,
MyCSS_PROPERTY_FONT_VARIANT_TITLING_CAPS = 0x0163,
MyCSS_PROPERTY_FONT_VARIANT_SLASHED_ZERO = 0x0135,
MyCSS_PROPERTY_FONT_VARIANT_SUPER = 0x0151
MyCSS_PROPERTY_FONT_VARIANT_SUPER = 0x0151,
MyCSS_PROPERTY_FONT_VARIANT_SUB = 0x0150,
MyCSS_PROPERTY_FONT_VARIANT_RUBY = 0x011d
}
typedef mycss_property_font_variant_t;
enum mycss_property_font_variant_alternates {
MyCSS_PROPERTY_FONT_VARIANT_ALTERNATES_NORMAL = 0x00d5,
MyCSS_PROPERTY_FONT_VARIANT_ALTERNATES_HISTORICAL_FORMS = 0x008b
MyCSS_PROPERTY_FONT_VARIANT_ALTERNATES_HISTORICAL_FORMS = 0x008b,
MyCSS_PROPERTY_FONT_VARIANT_ALTERNATES_NORMAL = 0x00d5
}
typedef mycss_property_font_variant_alternates_t;
@ -1304,15 +1313,15 @@ typedef mycss_property_font_variant_caps_t;
enum mycss_property_font_variant_east_asian {
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_PROPORTIONAL_WIDTH = 0x010a,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_SIMPLIFIED = 0x0133,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_FULL_WIDTH = 0x0080,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_TRADITIONAL = 0x0165,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_JIS04 = 0x00a3,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_RUBY = 0x011d,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_JIS78 = 0x00a4,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_NORMAL = 0x00d5,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_JIS83 = 0x00a5,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_JIS90 = 0x00a6
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_JIS90 = 0x00a6,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_SIMPLIFIED = 0x0133,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_FULL_WIDTH = 0x0080,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_TRADITIONAL = 0x0165,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_JIS04 = 0x00a3
}
typedef mycss_property_font_variant_east_asian_t;
@ -1387,17 +1396,17 @@ enum mycss_property_hanging_punctuation {
typedef mycss_property_hanging_punctuation_t;
enum mycss_property_height {
MyCSS_PROPERTY_HEIGHT_FIT_CONTENT = 0x0075,
MyCSS_PROPERTY_HEIGHT_UNSET = 0x016e,
MyCSS_PROPERTY_HEIGHT_INHERIT = 0x0092,
MyCSS_PROPERTY_HEIGHT_INITIAL = 0x0093,
MyCSS_PROPERTY_HEIGHT_AUTO = 0x0018,
MyCSS_PROPERTY_HEIGHT__LENGTH = 0x0199,
MyCSS_PROPERTY_HEIGHT_COMPLEX = 0x0042,
MyCSS_PROPERTY_HEIGHT_AVAILABLE = 0x0019,
MyCSS_PROPERTY_HEIGHT__PERCENTAGE = 0x019c,
MyCSS_PROPERTY_HEIGHT_MIN_CONTENT = 0x00cb,
MyCSS_PROPERTY_HEIGHT_MAX_CONTENT = 0x00c5,
MyCSS_PROPERTY_HEIGHT_FIT_CONTENT = 0x0075,
MyCSS_PROPERTY_HEIGHT_UNSET = 0x016e,
MyCSS_PROPERTY_HEIGHT_INHERIT = 0x0092,
MyCSS_PROPERTY_HEIGHT_INITIAL = 0x0093
MyCSS_PROPERTY_HEIGHT_MAX_CONTENT = 0x00c5
}
typedef mycss_property_height_t;
@ -1409,28 +1418,28 @@ enum mycss_property_hyphens {
typedef mycss_property_hyphens_t;
enum mycss_property_image_rendering {
MyCSS_PROPERTY_IMAGE_RENDERING_OPTIMIZEQUALITY = 0x00ec,
MyCSS_PROPERTY_IMAGE_RENDERING_AUTO = 0x0018,
MyCSS_PROPERTY_IMAGE_RENDERING_INHERIT = 0x0092,
MyCSS_PROPERTY_IMAGE_RENDERING_OPTIMIZESPEED = 0x00ed
MyCSS_PROPERTY_IMAGE_RENDERING_OPTIMIZESPEED = 0x00ed,
MyCSS_PROPERTY_IMAGE_RENDERING_OPTIMIZEQUALITY = 0x00ec,
MyCSS_PROPERTY_IMAGE_RENDERING_AUTO = 0x0018
}
typedef mycss_property_image_rendering_t;
enum mycss_property_indent_edge_reset {
MyCSS_PROPERTY_INDENT_EDGE_RESET_NONE = 0x00d3,
MyCSS_PROPERTY_INDENT_EDGE_RESET_MARGIN_EDGE = 0x00c2,
MyCSS_PROPERTY_INDENT_EDGE_RESET_BORDER_EDGE = 0x002b,
MyCSS_PROPERTY_INDENT_EDGE_RESET_PADDING_EDGE = 0x00f5,
MyCSS_PROPERTY_INDENT_EDGE_RESET_CONTENT_EDGE = 0x0048,
MyCSS_PROPERTY_INDENT_EDGE_RESET_NONE = 0x00d3
MyCSS_PROPERTY_INDENT_EDGE_RESET_CONTENT_EDGE = 0x0048
}
typedef mycss_property_indent_edge_reset_t;
enum mycss_property_justify_content {
MyCSS_PROPERTY_JUSTIFY_CONTENT_FLEX_START = 0x007a,
MyCSS_PROPERTY_JUSTIFY_CONTENT_CENTER = 0x0037,
MyCSS_PROPERTY_JUSTIFY_CONTENT_FLEX_END = 0x0079,
MyCSS_PROPERTY_JUSTIFY_CONTENT_SPACE_AROUND = 0x0140,
MyCSS_PROPERTY_JUSTIFY_CONTENT_SPACE_BETWEEN = 0x0141
MyCSS_PROPERTY_JUSTIFY_CONTENT_SPACE_BETWEEN = 0x0141,
MyCSS_PROPERTY_JUSTIFY_CONTENT_FLEX_START = 0x007a
}
typedef mycss_property_justify_content_t;
@ -1445,9 +1454,9 @@ enum mycss_property_letter_spacing {
typedef mycss_property_letter_spacing_t;
enum mycss_property_line_break {
MyCSS_PROPERTY_LINE_BREAK_LOOSE = 0x00ba,
MyCSS_PROPERTY_LINE_BREAK_STRICT = 0x014d,
MyCSS_PROPERTY_LINE_BREAK_NORMAL = 0x00d5,
MyCSS_PROPERTY_LINE_BREAK_STRICT = 0x014d,
MyCSS_PROPERTY_LINE_BREAK_LOOSE = 0x00ba,
MyCSS_PROPERTY_LINE_BREAK_AUTO = 0x0018
}
typedef mycss_property_line_break_t;
@ -1551,12 +1560,12 @@ enum mycss_property_marker_start {
typedef mycss_property_marker_start_t;
enum mycss_property_max_height {
MyCSS_PROPERTY_MAX_HEIGHT_INITIAL = 0x0093,
MyCSS_PROPERTY_MAX_HEIGHT_INHERIT = 0x0092,
MyCSS_PROPERTY_MAX_HEIGHT_NONE = 0x00d3,
MyCSS_PROPERTY_MAX_HEIGHT__LENGTH = 0x0199,
MyCSS_PROPERTY_MAX_HEIGHT_UNSET = 0x016e,
MyCSS_PROPERTY_MAX_HEIGHT__PERCENTAGE = 0x019c
MyCSS_PROPERTY_MAX_HEIGHT__PERCENTAGE = 0x019c,
MyCSS_PROPERTY_MAX_HEIGHT_INITIAL = 0x0093
}
typedef mycss_property_max_height_t;
@ -1566,12 +1575,12 @@ enum mycss_property_max_lines {
typedef mycss_property_max_lines_t;
enum mycss_property_max_width {
MyCSS_PROPERTY_MAX_WIDTH_NONE = 0x00d3,
MyCSS_PROPERTY_MAX_WIDTH__LENGTH = 0x0199,
MyCSS_PROPERTY_MAX_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_MAX_WIDTH__PERCENTAGE = 0x019c,
MyCSS_PROPERTY_MAX_WIDTH_INHERIT = 0x0092,
MyCSS_PROPERTY_MAX_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_MAX_WIDTH_NONE = 0x00d3
MyCSS_PROPERTY_MAX_WIDTH_INITIAL = 0x0093
}
typedef mycss_property_max_width_t;
@ -1585,11 +1594,11 @@ enum mycss_property_min_height {
typedef mycss_property_min_height_t;
enum mycss_property_min_width {
MyCSS_PROPERTY_MIN_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_MIN_WIDTH__LENGTH = 0x0199,
MyCSS_PROPERTY_MIN_WIDTH_INHERIT = 0x0092,
MyCSS_PROPERTY_MIN_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_MIN_WIDTH__PERCENTAGE = 0x019c,
MyCSS_PROPERTY_MIN_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_MIN_WIDTH__LENGTH = 0x0199
MyCSS_PROPERTY_MIN_WIDTH__PERCENTAGE = 0x019c
}
typedef mycss_property_min_width_t;
@ -1671,17 +1680,17 @@ enum mycss_property_overflow {
typedef mycss_property_overflow_t;
enum mycss_property_overflow_wrap {
MyCSS_PROPERTY_OVERFLOW_WRAP_NORMAL = 0x00d5,
MyCSS_PROPERTY_OVERFLOW_WRAP_BREAK_WORD = 0x0032,
MyCSS_PROPERTY_OVERFLOW_WRAP_BREAK_SPACES = 0x0031,
MyCSS_PROPERTY_OVERFLOW_WRAP_NORMAL = 0x00d5
MyCSS_PROPERTY_OVERFLOW_WRAP_BREAK_SPACES = 0x0031
}
typedef mycss_property_overflow_wrap_t;
enum mycss_property_overflow_x {
MyCSS_PROPERTY_OVERFLOW_X_NO_CONTENT = 0x00d9,
MyCSS_PROPERTY_OVERFLOW_X_INITIAL = 0x0093,
MyCSS_PROPERTY_OVERFLOW_X_INHERIT = 0x0092,
MyCSS_PROPERTY_OVERFLOW_X_NO_DISPLAY = 0x00dc,
MyCSS_PROPERTY_OVERFLOW_X_NO_CONTENT = 0x00d9,
MyCSS_PROPERTY_OVERFLOW_X_AUTO = 0x0018,
MyCSS_PROPERTY_OVERFLOW_X_HIDDEN = 0x0088,
MyCSS_PROPERTY_OVERFLOW_X_VISIBLE = 0x0177,
@ -1731,11 +1740,11 @@ enum mycss_property_padding_left {
typedef mycss_property_padding_left_t;
enum mycss_property_padding_right {
MyCSS_PROPERTY_PADDING_RIGHT_INHERIT = 0x0092,
MyCSS_PROPERTY_PADDING_RIGHT_UNSET = 0x016e,
MyCSS_PROPERTY_PADDING_RIGHT__LENGTH = 0x0199,
MyCSS_PROPERTY_PADDING_RIGHT_INITIAL = 0x0093,
MyCSS_PROPERTY_PADDING_RIGHT__PERCENTAGE = 0x019c,
MyCSS_PROPERTY_PADDING_RIGHT_INHERIT = 0x0092
MyCSS_PROPERTY_PADDING_RIGHT__PERCENTAGE = 0x019c
}
typedef mycss_property_padding_right_t;
@ -1795,8 +1804,8 @@ enum mycss_property_position {
typedef mycss_property_position_t;
enum mycss_property_presentation_level {
MyCSS_PROPERTY_PRESENTATION_LEVEL_SAME = 0x0124,
MyCSS_PROPERTY_PRESENTATION_LEVEL_INCREMENT = 0x0090
MyCSS_PROPERTY_PRESENTATION_LEVEL_INCREMENT = 0x0090,
MyCSS_PROPERTY_PRESENTATION_LEVEL_SAME = 0x0124
}
typedef mycss_property_presentation_level_t;
@ -1812,10 +1821,10 @@ enum mycss_property_region_fragment {
typedef mycss_property_region_fragment_t;
enum mycss_property_resize {
MyCSS_PROPERTY_RESIZE_NONE = 0x00d3,
MyCSS_PROPERTY_RESIZE_BOTH = 0x002c,
MyCSS_PROPERTY_RESIZE_VERTICAL = 0x0172,
MyCSS_PROPERTY_RESIZE_HORIZONTAL = 0x008d
MyCSS_PROPERTY_RESIZE_HORIZONTAL = 0x008d,
MyCSS_PROPERTY_RESIZE_NONE = 0x00d3,
MyCSS_PROPERTY_RESIZE_BOTH = 0x002c
}
typedef mycss_property_resize_t;
@ -1898,11 +1907,11 @@ enum mycss_property_shape_outside {
typedef mycss_property_shape_outside_t;
enum mycss_property_shape_rendering {
MyCSS_PROPERTY_SHAPE_RENDERING_AUTO = 0x0018,
MyCSS_PROPERTY_SHAPE_RENDERING_INHERIT = 0x0092,
MyCSS_PROPERTY_SHAPE_RENDERING_CRISPEDGES = 0x004d,
MyCSS_PROPERTY_SHAPE_RENDERING_OPTIMIZESPEED = 0x00ed,
MyCSS_PROPERTY_SHAPE_RENDERING_GEOMETRICPRECISION = 0x0081,
MyCSS_PROPERTY_SHAPE_RENDERING_AUTO = 0x0018
MyCSS_PROPERTY_SHAPE_RENDERING_GEOMETRICPRECISION = 0x0081
}
typedef mycss_property_shape_rendering_t;
@ -1960,43 +1969,43 @@ enum mycss_property_table_layout {
typedef mycss_property_table_layout_t;
enum mycss_property_text_align {
MyCSS_PROPERTY_TEXT_ALIGN_INITIAL = 0x0093,
MyCSS_PROPERTY_TEXT_ALIGN_START = 0x0146,
MyCSS_PROPERTY_TEXT_ALIGN_INITIAL = 0x0093,
MyCSS_PROPERTY_TEXT_ALIGN_END = 0x0066,
MyCSS_PROPERTY_TEXT_ALIGN_LEFT = 0x00ae,
MyCSS_PROPERTY_TEXT_ALIGN_JUSTIFY_ALL = 0x00a8,
MyCSS_PROPERTY_TEXT_ALIGN_LEFT = 0x00ae,
MyCSS_PROPERTY_TEXT_ALIGN_JUSTIFY = 0x00a7,
MyCSS_PROPERTY_TEXT_ALIGN_MATCH_PARENT = 0x00c3,
MyCSS_PROPERTY_TEXT_ALIGN_UNSET = 0x016e,
MyCSS_PROPERTY_TEXT_ALIGN_RIGHT = 0x0115,
MyCSS_PROPERTY_TEXT_ALIGN_CENTER = 0x0037,
MyCSS_PROPERTY_TEXT_ALIGN_INHERIT = 0x0092,
MyCSS_PROPERTY_TEXT_ALIGN_JUSTIFY = 0x00a7
MyCSS_PROPERTY_TEXT_ALIGN_INHERIT = 0x0092
}
typedef mycss_property_text_align_t;
enum mycss_property_text_align_all {
MyCSS_PROPERTY_TEXT_ALIGN_ALL_END = 0x0066,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_START = 0x0146,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_RIGHT = 0x0115,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_LEFT = 0x00ae,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_END = 0x0066,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_CENTER = 0x0037,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_LEFT = 0x00ae,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_UNSET = 0x016e,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_RIGHT = 0x0115,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_JUSTIFY = 0x00a7,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_INHERIT = 0x0092,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_INITIAL = 0x0093,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_UNSET = 0x016e,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_MATCH_PARENT = 0x00c3,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_JUSTIFY = 0x00a7
MyCSS_PROPERTY_TEXT_ALIGN_ALL_MATCH_PARENT = 0x00c3
}
typedef mycss_property_text_align_all_t;
enum mycss_property_text_align_last {
MyCSS_PROPERTY_TEXT_ALIGN_LAST_START = 0x0146,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_LEFT = 0x00ae,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_CENTER = 0x0037,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_RIGHT = 0x0115,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_UNSET = 0x016e,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_INHERIT = 0x0092,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_JUSTIFY = 0x00a7,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_INITIAL = 0x0093,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_LEFT = 0x00ae,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_RIGHT = 0x0115,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_JUSTIFY = 0x00a7,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_INHERIT = 0x0092,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_AUTO = 0x0018,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_END = 0x0066
}
@ -2018,27 +2027,27 @@ enum mycss_property_text_decoration_color {
typedef mycss_property_text_decoration_color_t;
enum mycss_property_text_decoration_line {
MyCSS_PROPERTY_TEXT_DECORATION_LINE_NONE = 0x00d3,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_LINE_THROUGH = 0x00b4,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_OVERLINE = 0x00f3,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_UNSET = 0x016e,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_UNDERLINE = 0x016a,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_INITIAL = 0x0093,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_BLINK = 0x0025,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_INHERIT = 0x0092
MyCSS_PROPERTY_TEXT_DECORATION_LINE_INHERIT = 0x0092,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_NONE = 0x00d3
}
typedef mycss_property_text_decoration_line_t;
enum mycss_property_text_decoration_skip {
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_INK = 0x0094,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_UNSET = 0x016e,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_INHERIT = 0x0092,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_INITIAL = 0x0093,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_BOX_DECORATION = 0x002e,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_NONE = 0x00d3,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_SPACES = 0x013f,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_OBJECTS = 0x00e5,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_EDGES = 0x0063
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_EDGES = 0x0063,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_INK = 0x0094,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_NONE = 0x00d3,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_UNSET = 0x016e
}
typedef mycss_property_text_decoration_skip_t;
@ -2068,14 +2077,14 @@ enum mycss_property_text_emphasis_position {
typedef mycss_property_text_emphasis_position_t;
enum mycss_property_text_emphasis_style {
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_CIRCLE = 0x0038,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_DOT = 0x0059,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_NONE = 0x00d3,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_OPEN = 0x00ea,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_FILLED = 0x0071,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_DOUBLE_CIRCLE = 0x005c,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_SESAMEINITIAL = 0x012c,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_TRIANGLE = 0x0166,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_CIRCLE = 0x0038,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_DOT = 0x0059,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_NONE = 0x00d3
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_TRIANGLE = 0x0166
}
typedef mycss_property_text_emphasis_style_t;
@ -2107,11 +2116,11 @@ enum mycss_property_text_overflow {
typedef mycss_property_text_overflow_t;
enum mycss_property_text_rendering {
MyCSS_PROPERTY_TEXT_RENDERING_AUTO = 0x0018,
MyCSS_PROPERTY_TEXT_RENDERING_INHERIT = 0x0092,
MyCSS_PROPERTY_TEXT_RENDERING_OPTIMIZESPEED = 0x00ed,
MyCSS_PROPERTY_TEXT_RENDERING_OPTIMIZELEGIBILITY = 0x00eb,
MyCSS_PROPERTY_TEXT_RENDERING_GEOMETRICPRECISION = 0x0081,
MyCSS_PROPERTY_TEXT_RENDERING_AUTO = 0x0018,
MyCSS_PROPERTY_TEXT_RENDERING_INHERIT = 0x0092
MyCSS_PROPERTY_TEXT_RENDERING_GEOMETRICPRECISION = 0x0081
}
typedef mycss_property_text_rendering_t;
@ -2149,7 +2158,6 @@ enum mycss_property_top {
typedef mycss_property_top_t;
enum mycss_property_touch_action {
MyCSS_PROPERTY_TOUCH_ACTION_NONE = 0x00d3,
MyCSS_PROPERTY_TOUCH_ACTION_PAN_RIGHT = 0x00fb,
MyCSS_PROPERTY_TOUCH_ACTION_PAN_UP = 0x00fc,
MyCSS_PROPERTY_TOUCH_ACTION_PAN_LEFT = 0x00fa,
@ -2157,7 +2165,8 @@ enum mycss_property_touch_action {
MyCSS_PROPERTY_TOUCH_ACTION_AUTO = 0x0018,
MyCSS_PROPERTY_TOUCH_ACTION_PAN_Y = 0x00fe,
MyCSS_PROPERTY_TOUCH_ACTION_PAN_DOWN = 0x00f9,
MyCSS_PROPERTY_TOUCH_ACTION_MANIPULATION = 0x00c0
MyCSS_PROPERTY_TOUCH_ACTION_MANIPULATION = 0x00c0,
MyCSS_PROPERTY_TOUCH_ACTION_NONE = 0x00d3
}
typedef mycss_property_touch_action_t;
@ -2207,12 +2216,12 @@ enum mycss_property_transition_timing_function {
typedef mycss_property_transition_timing_function_t;
enum mycss_property_unicode_bidi {
MyCSS_PROPERTY_UNICODE_BIDI_NORMAL = 0x00d5,
MyCSS_PROPERTY_UNICODE_BIDI_ISOLATE = 0x00a0,
MyCSS_PROPERTY_UNICODE_BIDI_BIDI_OVERRIDE = 0x0024,
MyCSS_PROPERTY_UNICODE_BIDI_PLAINTEXT = 0x0101,
MyCSS_PROPERTY_UNICODE_BIDI_ISOLATE_OVERRIDE = 0x00a1,
MyCSS_PROPERTY_UNICODE_BIDI_EMBED = 0x0065
MyCSS_PROPERTY_UNICODE_BIDI_EMBED = 0x0065,
MyCSS_PROPERTY_UNICODE_BIDI_NORMAL = 0x00d5
}
typedef mycss_property_unicode_bidi_t;
@ -2226,6 +2235,7 @@ enum mycss_property_user_select {
typedef mycss_property_user_select_t;
enum mycss_property_vertical_align {
MyCSS_PROPERTY_VERTICAL_ALIGN_SUB = 0x0150,
MyCSS_PROPERTY_VERTICAL_ALIGN_TOP = 0x0164,
MyCSS_PROPERTY_VERTICAL_ALIGN__LENGTH = 0x0199,
MyCSS_PROPERTY_VERTICAL_ALIGN_BASELINE = 0x0022,
@ -2237,8 +2247,7 @@ enum mycss_property_vertical_align {
MyCSS_PROPERTY_VERTICAL_ALIGN_BOTTOM = 0x002d,
MyCSS_PROPERTY_VERTICAL_ALIGN_INHERIT = 0x0092,
MyCSS_PROPERTY_VERTICAL_ALIGN_INITIAL = 0x0093,
MyCSS_PROPERTY_VERTICAL_ALIGN_TEXT_BOTTOM = 0x015f,
MyCSS_PROPERTY_VERTICAL_ALIGN_SUB = 0x0150
MyCSS_PROPERTY_VERTICAL_ALIGN_TEXT_BOTTOM = 0x015f
}
typedef mycss_property_vertical_align_t;
@ -2321,15 +2330,16 @@ enum mycss_property_voice_volume {
typedef mycss_property_voice_volume_t;
enum mycss_property_white_space {
MyCSS_PROPERTY_WHITE_SPACE_PRE = 0x0103,
MyCSS_PROPERTY_WHITE_SPACE_NORMAL = 0x00d5,
MyCSS_PROPERTY_WHITE_SPACE_NOWRAP = 0x00d7,
MyCSS_PROPERTY_WHITE_SPACE_PRE_WRAP = 0x0107,
MyCSS_PROPERTY_WHITE_SPACE_PRE_LINE = 0x0106
MyCSS_PROPERTY_WHITE_SPACE_PRE_LINE = 0x0106,
MyCSS_PROPERTY_WHITE_SPACE_PRE = 0x0103
}
typedef mycss_property_white_space_t;
enum mycss_property_width {
MyCSS_PROPERTY_WIDTH_AUTO = 0x0018,
MyCSS_PROPERTY_WIDTH__LENGTH = 0x0199,
MyCSS_PROPERTY_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_WIDTH_AVAILABLE = 0x0019,
@ -2338,8 +2348,7 @@ enum mycss_property_width {
MyCSS_PROPERTY_WIDTH_MAX_CONTENT = 0x00c5,
MyCSS_PROPERTY_WIDTH_FIT_CONTENT = 0x0075,
MyCSS_PROPERTY_WIDTH_INHERIT = 0x0092,
MyCSS_PROPERTY_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_WIDTH_AUTO = 0x0018
MyCSS_PROPERTY_WIDTH_INITIAL = 0x0093
}
typedef mycss_property_width_t;
@ -2351,8 +2360,8 @@ enum mycss_property_will_change {
typedef mycss_property_will_change_t;
enum mycss_property_word_break {
MyCSS_PROPERTY_WORD_BREAK_KEEP_ALL = 0x00a9,
MyCSS_PROPERTY_WORD_BREAK_BREAK_ALL = 0x0030,
MyCSS_PROPERTY_WORD_BREAK_KEEP_ALL = 0x00a9,
MyCSS_PROPERTY_WORD_BREAK_NORMAL = 0x00d5
}
typedef mycss_property_word_break_t;
@ -2363,9 +2372,9 @@ enum mycss_property_word_spacing {
typedef mycss_property_word_spacing_t;
enum mycss_property_word_wrap {
MyCSS_PROPERTY_WORD_WRAP_NORMAL = 0x00d5,
MyCSS_PROPERTY_WORD_WRAP_BREAK_SPACES = 0x0031,
MyCSS_PROPERTY_WORD_WRAP_BREAK_WORD = 0x0032,
MyCSS_PROPERTY_WORD_WRAP_NORMAL = 0x00d5
MyCSS_PROPERTY_WORD_WRAP_BREAK_WORD = 0x0032
}
typedef mycss_property_word_wrap_t;

View File

@ -70,6 +70,7 @@ bool mycss_property_shared_background_repeat_two(mycss_entry_t* entry, mycss_tok
bool mycss_property_shared_background_attachment(mycss_entry_t* entry, mycss_token_t* token, unsigned int* value_type, myhtml_string_t* str);
bool mycss_property_shared_background_position(mycss_entry_t* entry, mycss_token_t* token, void* value, unsigned int* value_type, myhtml_string_t* str);
bool mycss_property_shared_background_clip(mycss_entry_t* entry, mycss_token_t* token, unsigned int* value_type, myhtml_string_t* str);
bool mycss_property_shared_background_size(mycss_entry_t* entry, mycss_token_t* token, void* value, unsigned int* value_type, myhtml_string_t* str);
void mycss_property_shared_destroy_string(myhtml_string_t* str);

View File

@ -66,8 +66,10 @@ mycss_values_cross_fade_t * mycss_values_destroy_cross_fade(mycss_entry_t* entry
mycss_values_image_list_t * mycss_values_destroy_image_list(mycss_entry_t* entry, mycss_values_image_list_t* value, bool self_destroy);
/* Background */
mycss_values_background_list_t * mycss_values_destroy_background(mycss_entry_t* entry, mycss_values_background_list_t* value, bool self_destroy);
mycss_values_background_repeat_list_t * mycss_values_destroy_background_repeat(mycss_entry_t* entry, mycss_values_background_repeat_list_t* value, bool self_destroy);
mycss_values_background_position_t * mycss_values_destroy_background_position(mycss_entry_t* entry, mycss_values_background_position_t* value, bool self_destroy);
mycss_values_background_size_list_t * mycss_values_destroy_background_size(mycss_entry_t* entry, mycss_values_background_size_list_t* value, bool self_destroy);
#ifdef __cplusplus
} /* extern "C" */

View File

@ -36,12 +36,14 @@ void mycss_values_serialization_length(mycss_values_length_t* value, mycss_callb
void mycss_values_serialization_angle(mycss_values_angle_t* value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_resolution(mycss_values_resolution_t* value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_percentage(mycss_values_percentage_t* value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_type_length_percentage(mycss_values_type_length_percentage_entry_t* value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_color(mycss_values_color_t* value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_color_alpha(mycss_values_color_alpha_value_t* value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_text_decoration_line(mycss_values_text_decoration_line_t value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_text_decoration_skip(mycss_values_text_decoration_skip_t value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_url(mycss_values_url_t* url, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_image(mycss_values_image_t* image, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_background_size_entry(mycss_values_background_size_entry_t* bg_size_entry, mycss_callback_serialization_f callback, void* context);
#ifdef __cplusplus
} /* extern "C" */

View File

@ -64,6 +64,10 @@ typedef struct mycss_values_color mycss_values_color_t;
typedef struct mycss_values_background_repeat_list mycss_values_background_repeat_list_t;
typedef struct mycss_values_background_repeat mycss_values_background_repeat_t;
typedef struct mycss_values_background_position mycss_values_background_position_t;
typedef struct mycss_values_background_size_list mycss_values_background_size_list_t;
typedef struct mycss_values_background_size_entry mycss_values_background_size_entry_t;
typedef struct mycss_values_background mycss_values_background_t;
typedef struct mycss_values_background_list mycss_values_background_list_t;
typedef struct mycss_values_color_stop mycss_values_color_stop_t;
typedef struct mycss_values_color_stop_list mycss_values_color_stop_list_t;
@ -72,7 +76,6 @@ typedef struct mycss_values_font_family_entry mycss_values_font_family_entry_t;
typedef struct mycss_values_font_family mycss_values_font_family_t;
typedef struct mycss_values_font mycss_values_font_t;
typedef struct mycss_values_void_list mycss_values_void_list_t;
typedef struct mycss_values_type_length_percentage_entry mycss_values_type_length_percentage_entry_t;
typedef struct mycss_values_type_list mycss_values_type_list_t;
typedef struct mycss_values_shorthand_two_type mycss_values_shorthand_two_type_t;
@ -119,11 +122,6 @@ struct mycss_values_type_length_percentage_entry {
unsigned int type;
};
struct mycss_values_void_list {
void* entries;
size_t entries_length;
};
struct mycss_values_number {
union {
int i;
@ -450,6 +448,22 @@ struct mycss_values_text_decoration {
/*
Background
*/
struct mycss_values_background {
mycss_declaration_entry_t* image;
mycss_declaration_entry_t* position;
mycss_declaration_entry_t* size;
mycss_declaration_entry_t* repeat;
mycss_declaration_entry_t* attachment;
mycss_declaration_entry_t* origin;
mycss_declaration_entry_t* clip;
mycss_declaration_entry_t* color;
};
struct mycss_values_background_list {
mycss_values_background_t* entries;
size_t entries_length;
};
struct mycss_values_background_repeat {
mycss_property_background_t horizontal;
mycss_property_background_t vertical;
@ -467,6 +481,17 @@ struct mycss_values_background_position {
mycss_values_type_length_percentage_entry_t four;
};
struct mycss_values_background_size_entry {
unsigned int scale;
mycss_values_type_length_percentage_entry_t* width;
mycss_values_type_length_percentage_entry_t* height;
};
struct mycss_values_background_size_list {
mycss_values_background_size_entry_t* entries;
size_t entries_length;
};
void * mycss_values_create(mycss_entry_t* entry, size_t size);
void * mycss_values_destroy(mycss_entry_t* entry, void* value);
void * mycss_values_realloc(mycss_entry_t* entry, void* value, size_t old_size, size_t up_to);
@ -478,6 +503,10 @@ void mycss_values_entry_set(mycss_entry_t* entry, void** value);
unsigned int * mycss_values_type_list_add_entry(mycss_entry_t* entry, mycss_values_type_list_t *list);
mycss_values_image_t * mycss_values_image_list_add_entry(mycss_entry_t* entry, mycss_values_image_list_t *bg_image);
mycss_values_background_repeat_t * mycss_values_background_repeat_list_add_entry(mycss_entry_t* entry, mycss_values_background_repeat_list_t *list);
mycss_values_background_size_entry_t * mycss_values_background_size_list_add_entry(mycss_entry_t* entry, mycss_values_background_size_list_t *list);
mycss_values_background_t * mycss_values_background_list_add_entry(mycss_entry_t* entry, mycss_values_background_list_t *list);
mycss_values_background_t * mycss_values_background_list_current_entry(mycss_values_background_list_t *list);
#ifdef __cplusplus
} /* extern "C" */

View File

@ -137,6 +137,19 @@ mycss_declaration_entry_t * mycss_declaration_entry_destroy_border_bottom_left_r
return decl_entry;
}
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy)
{
decl_entry->value = mycss_values_destroy_background(declaration->ref_entry, decl_entry->value, true);
if(self_destroy) {
mcobject_free(declaration->mcobject_entries, decl_entry);
return NULL;
}
return decl_entry;
}
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_image(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy)
{
decl_entry->value = mycss_values_destroy_image_list(declaration->ref_entry, decl_entry->value, true);
@ -173,4 +186,16 @@ mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_position(
return decl_entry;
}
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_size(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy)
{
decl_entry->value = mycss_values_destroy_background_size(declaration->ref_entry, decl_entry->value, true);
if(self_destroy) {
mcobject_free(declaration->mcobject_entries, decl_entry);
return NULL;
}
return decl_entry;
}

View File

@ -42,9 +42,11 @@ mycss_declaration_entry_t * mycss_declaration_entry_destroy_border_top_right_rad
mycss_declaration_entry_t * mycss_declaration_entry_destroy_border_top_left_radius(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
mycss_declaration_entry_t * mycss_declaration_entry_destroy_border_bottom_right_radius(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
mycss_declaration_entry_t * mycss_declaration_entry_destroy_border_bottom_left_radius(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_image(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_repeat(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_position(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_size(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
#ifdef __cplusplus
} /* extern "C" */

View File

@ -39,7 +39,7 @@ static mycss_callback_declaration_destroy_f mycss_declaration_entry_destroy_map_
mycss_declaration_entry_destroy_undef,
mycss_declaration_entry_destroy_undef,
mycss_declaration_entry_destroy_undef,
mycss_declaration_entry_destroy_undef,
mycss_declaration_entry_destroy_background,
mycss_declaration_entry_destroy_type_list,
mycss_declaration_entry_destroy_type_list,
mycss_declaration_entry_destroy_undef,
@ -47,7 +47,7 @@ static mycss_callback_declaration_destroy_f mycss_declaration_entry_destroy_map_
mycss_declaration_entry_destroy_type_list,
mycss_declaration_entry_destroy_background_position,
mycss_declaration_entry_destroy_background_repeat,
mycss_declaration_entry_destroy_undef,
mycss_declaration_entry_destroy_background_size,
mycss_declaration_entry_destroy_undef,
mycss_declaration_entry_destroy_undef,
mycss_declaration_entry_destroy_undef,

View File

@ -342,6 +342,70 @@ bool mycss_declaration_serialization_text_decoration_skip(mycss_entry_t* entry,
return true;
}
bool mycss_declaration_serialization_background(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry,
mycss_callback_serialization_f callback, void* context)
{
if(dec_entry == NULL)
return false;
if(dec_entry->value == NULL)
return mycss_declaration_serialization_undef(entry, dec_entry, callback, context);
mycss_values_background_list_t *list = dec_entry->value;
for(size_t i = 0; i < list->entries_length; i++) {
if(i)
callback(", ", 2, context);
mycss_values_background_t* bg = &list->entries[i];
bool o_e = false;
if(bg->color) {
o_e = true;
mycss_property_serialization_value(bg->color->value_type, bg->color->value, callback, context);
}
if(bg->image) {
if(o_e) callback(" ", 1, context); else o_e = true;
mycss_declaration_serialization_background_image(entry, bg->image, callback, context);
}
if(bg->position) {
if(o_e) callback(" ", 1, context); else o_e = true;
mycss_declaration_serialization_background_position(entry, bg->position, callback, context);
if(bg->size) {
callback(" / ", 3, context);
mycss_declaration_serialization_background_size(entry, bg->size, callback, context);
}
}
if(bg->repeat) {
if(o_e) callback(" ", 1, context); else o_e = true;
mycss_declaration_serialization_background_repeat(entry, bg->repeat, callback, context);
}
if(bg->attachment) {
if(o_e) callback(" ", 1, context); else o_e = true;
mycss_declaration_serialization_type_list(entry, bg->attachment, callback, context);
}
if(bg->clip) {
if(o_e) callback(" ", 1, context); else o_e = true;
mycss_declaration_serialization_type_list(entry, bg->clip, callback, context);
}
if(bg->origin) {
if(o_e) callback(" ", 1, context); else o_e = true;
mycss_declaration_serialization_type_list(entry, bg->origin, callback, context);
}
}
mycss_declaration_serialization_important_if_need(dec_entry, callback, context);
return true;
}
bool mycss_declaration_serialization_background_image(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry,
mycss_callback_serialization_f callback, void* context)
{
@ -413,29 +477,17 @@ bool mycss_declaration_serialization_background_position(mycss_entry_t* entry, m
}
if(position->two.type) {
if(o_e)
callback(" ", 1, context);
else
o_e = true;
if(o_e) callback(" ", 1, context); else o_e = true;
mycss_property_serialization_value(position->two.type, position->two.length, callback, context);
}
if(position->three.type) {
if(o_e)
callback(" ", 1, context);
else
o_e = true;
if(o_e) callback(" ", 1, context); else o_e = true;
mycss_property_serialization_value(position->three.type, position->three.length, callback, context);
}
if(position->four.type) {
if(o_e)
callback(" ", 1, context);
else
o_e = true;
if(o_e) callback(" ", 1, context); else o_e = true;
mycss_property_serialization_value(position->four.type, position->four.length, callback, context);
}
@ -444,4 +496,27 @@ bool mycss_declaration_serialization_background_position(mycss_entry_t* entry, m
return true;
}
bool mycss_declaration_serialization_background_size(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry,
mycss_callback_serialization_f callback, void* context)
{
if(dec_entry == NULL)
return false;
if(dec_entry->value == NULL)
return mycss_declaration_serialization_undef(entry, dec_entry, callback, context);
mycss_values_background_size_list_t *list = dec_entry->value;
for(size_t i = 0; i < list->entries_length; i++) {
if(i)
callback(", ", 2, context);
mycss_values_serialization_background_size_entry(&list->entries[i], callback, context);
}
mycss_declaration_serialization_important_if_need(dec_entry, callback, context);
return true;
}

View File

@ -47,9 +47,11 @@ bool mycss_declaration_serialization_text_decoration_line(mycss_entry_t* entry,
bool mycss_declaration_serialization_text_decoration_skip(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
bool mycss_declaration_serialization_font_family(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
bool mycss_declaration_serialization_font(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
bool mycss_declaration_serialization_background(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
bool mycss_declaration_serialization_background_image(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
bool mycss_declaration_serialization_background_repeat(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
bool mycss_declaration_serialization_background_position(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
bool mycss_declaration_serialization_background_size(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, mycss_callback_serialization_f callback, void* context);
#ifdef __cplusplus
} /* extern "C" */

View File

@ -39,7 +39,7 @@ static mycss_declaration_serialization_f mycss_declaration_serialization_map_by_
mycss_declaration_serialization_undef,
mycss_declaration_serialization_undef,
mycss_declaration_serialization_undef,
mycss_declaration_serialization_undef,
mycss_declaration_serialization_background,
mycss_declaration_serialization_type_list,
mycss_declaration_serialization_type_list,
mycss_declaration_serialization_undef,
@ -47,7 +47,7 @@ static mycss_declaration_serialization_f mycss_declaration_serialization_map_by_
mycss_declaration_serialization_type_list,
mycss_declaration_serialization_background_position,
mycss_declaration_serialization_background_repeat,
mycss_declaration_serialization_undef,
mycss_declaration_serialization_background_size,
mycss_declaration_serialization_undef,
mycss_declaration_serialization_undef,
mycss_declaration_serialization_undef,

View File

@ -362,12 +362,12 @@ enum mycss_property_align_items {
typedef mycss_property_align_items_t;
enum mycss_property_align_self {
MyCSS_PROPERTY_ALIGN_SELF_FLEX_END = 0x0079,
MyCSS_PROPERTY_ALIGN_SELF_CENTER = 0x0037,
MyCSS_PROPERTY_ALIGN_SELF_AUTO = 0x0018,
MyCSS_PROPERTY_ALIGN_SELF_FLEX_START = 0x007a,
MyCSS_PROPERTY_ALIGN_SELF_STRETCH = 0x014c,
MyCSS_PROPERTY_ALIGN_SELF_BASELINE = 0x0022
MyCSS_PROPERTY_ALIGN_SELF_BASELINE = 0x0022,
MyCSS_PROPERTY_ALIGN_SELF_CENTER = 0x0037,
MyCSS_PROPERTY_ALIGN_SELF_FLEX_END = 0x0079
}
typedef mycss_property_align_self_t;
@ -380,10 +380,10 @@ enum mycss_property_animation_direction {
typedef mycss_property_animation_direction_t;
enum mycss_property_animation_fill_mode {
MyCSS_PROPERTY_ANIMATION_FILL_MODE_BOTH = 0x002c,
MyCSS_PROPERTY_ANIMATION_FILL_MODE_NONE = 0x00d3,
MyCSS_PROPERTY_ANIMATION_FILL_MODE_FORWARDS = 0x007e,
MyCSS_PROPERTY_ANIMATION_FILL_MODE_BACKWARDS = 0x001e
MyCSS_PROPERTY_ANIMATION_FILL_MODE_BACKWARDS = 0x001e,
MyCSS_PROPERTY_ANIMATION_FILL_MODE_BOTH = 0x002c
}
typedef mycss_property_animation_fill_mode_t;
@ -399,13 +399,13 @@ enum mycss_property_animation_play_state {
typedef mycss_property_animation_play_state_t;
enum mycss_property_animation_timing_function {
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_EASE = 0x005e,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_STEP_START = 0x014a,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_EASE_IN_OUT = 0x0060,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_LINEAR = 0x00b2,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_EASE_IN = 0x005f,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_EASE_OUT = 0x0061,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_STEP_END = 0x0149,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_EASE = 0x005e,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_STEP_START = 0x014a,
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_EASE_IN_OUT = 0x0060
MyCSS_PROPERTY_ANIMATION_TIMING_FUNCTION_STEP_END = 0x0149
}
typedef mycss_property_animation_timing_function_t;
@ -422,10 +422,16 @@ enum mycss_property_backface_visibility {
typedef mycss_property_backface_visibility_t;
enum mycss_property_background {
MyCSS_PROPERTY_BACKGROUND_REPEAT_Y = 0x0112,
MyCSS_PROPERTY_BACKGROUND_REPEAT_X = 0x0111,
MyCSS_PROPERTY_BACKGROUND_SPACE = 0x013e,
MyCSS_PROPERTY_BACKGROUND_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_CONTAIN = 0x0044,
MyCSS_PROPERTY_BACKGROUND_REPEAT_Y = 0x0112,
MyCSS_PROPERTY_BACKGROUND_INHERIT = 0x0092,
MyCSS_PROPERTY_BACKGROUND_REPEAT = 0x0110,
MyCSS_PROPERTY_BACKGROUND_INITIAL = 0x0093,
MyCSS_PROPERTY_BACKGROUND_COVER = 0x004c,
MyCSS_PROPERTY_BACKGROUND_AUTO = 0x0018,
MyCSS_PROPERTY_BACKGROUND_SPACE = 0x013e,
MyCSS_PROPERTY_BACKGROUND_ROUND = 0x0118,
MyCSS_PROPERTY_BACKGROUND_FIXED = 0x0076,
MyCSS_PROPERTY_BACKGROUND_SCROLL = 0x0126,
@ -435,12 +441,12 @@ enum mycss_property_background {
typedef mycss_property_background_t;
enum mycss_property_background_attachment {
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_SCROLL = 0x0126,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_FIXED = 0x0076,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_LOCAL = 0x00b9,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_INITIAL = 0x0093,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_INHERIT = 0x0092,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_INITIAL = 0x0093
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_LOCAL = 0x00b9,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_FIXED = 0x0076,
MyCSS_PROPERTY_BACKGROUND_ATTACHMENT_SCROLL = 0x0126
}
typedef mycss_property_background_attachment_t;
@ -463,11 +469,11 @@ enum mycss_property_background_color {
typedef mycss_property_background_color_t;
enum mycss_property_background_image {
MyCSS_PROPERTY_BACKGROUND_IMAGE__IMAGE = 0x0195,
MyCSS_PROPERTY_BACKGROUND_IMAGE_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_IMAGE_INHERIT = 0x0092,
MyCSS_PROPERTY_BACKGROUND_IMAGE_INITIAL = 0x0093,
MyCSS_PROPERTY_BACKGROUND_IMAGE_NONE = 0x00d3,
MyCSS_PROPERTY_BACKGROUND_IMAGE__IMAGE = 0x0195
MyCSS_PROPERTY_BACKGROUND_IMAGE_NONE = 0x00d3
}
typedef mycss_property_background_image_t;
@ -482,34 +488,37 @@ enum mycss_property_background_origin {
typedef mycss_property_background_origin_t;
enum mycss_property_background_position {
MyCSS_PROPERTY_BACKGROUND_POSITION_INHERIT = 0x0092,
MyCSS_PROPERTY_BACKGROUND_POSITION_LEFT = 0x00ae,
MyCSS_PROPERTY_BACKGROUND_POSITION_INITIAL = 0x0093,
MyCSS_PROPERTY_BACKGROUND_POSITION_RIGHT = 0x0115,
MyCSS_PROPERTY_BACKGROUND_POSITION_CENTER = 0x0037,
MyCSS_PROPERTY_BACKGROUND_POSITION_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_POSITION_TOP = 0x0164,
MyCSS_PROPERTY_BACKGROUND_POSITION_BOTTOM = 0x002d,
MyCSS_PROPERTY_BACKGROUND_POSITION_TOP = 0x0164
MyCSS_PROPERTY_BACKGROUND_POSITION_INHERIT = 0x0092,
MyCSS_PROPERTY_BACKGROUND_POSITION_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_POSITION_INITIAL = 0x0093,
MyCSS_PROPERTY_BACKGROUND_POSITION_LEFT = 0x00ae,
MyCSS_PROPERTY_BACKGROUND_POSITION_RIGHT = 0x0115,
MyCSS_PROPERTY_BACKGROUND_POSITION_CENTER = 0x0037
}
typedef mycss_property_background_position_t;
enum mycss_property_background_repeat {
MyCSS_PROPERTY_BACKGROUND_REPEAT_REPEAT_Y = 0x0112,
MyCSS_PROPERTY_BACKGROUND_REPEAT_SPACE = 0x013e,
MyCSS_PROPERTY_BACKGROUND_REPEAT_REPEAT = 0x0110,
MyCSS_PROPERTY_BACKGROUND_REPEAT_REPEAT_X = 0x0111,
MyCSS_PROPERTY_BACKGROUND_REPEAT_ROUND = 0x0118,
MyCSS_PROPERTY_BACKGROUND_REPEAT_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_REPEAT_INHERIT = 0x0092,
MyCSS_PROPERTY_BACKGROUND_REPEAT_NO_REPEAT = 0x00e0,
MyCSS_PROPERTY_BACKGROUND_REPEAT_INITIAL = 0x0093,
MyCSS_PROPERTY_BACKGROUND_REPEAT_SPACE = 0x013e,
MyCSS_PROPERTY_BACKGROUND_REPEAT_REPEAT = 0x0110,
MyCSS_PROPERTY_BACKGROUND_REPEAT_REPEAT_X = 0x0111
MyCSS_PROPERTY_BACKGROUND_REPEAT_REPEAT_Y = 0x0112
}
typedef mycss_property_background_repeat_t;
enum mycss_property_background_size {
MyCSS_PROPERTY_BACKGROUND_SIZE_AUTO = 0x0018,
MyCSS_PROPERTY_BACKGROUND_SIZE_COVER = 0x004c,
MyCSS_PROPERTY_BACKGROUND_SIZE_UNSET = 0x016e,
MyCSS_PROPERTY_BACKGROUND_SIZE_CONTAIN = 0x0044,
MyCSS_PROPERTY_BACKGROUND_SIZE_AUTO = 0x0018
MyCSS_PROPERTY_BACKGROUND_SIZE_INHERIT = 0x0092,
MyCSS_PROPERTY_BACKGROUND_SIZE_INITIAL = 0x0093
}
typedef mycss_property_background_size_t;
@ -519,8 +528,8 @@ enum mycss_property_bookmark_level {
typedef mycss_property_bookmark_level_t;
enum mycss_property_bookmark_state {
MyCSS_PROPERTY_BOOKMARK_STATE_CLOSED = 0x003c,
MyCSS_PROPERTY_BOOKMARK_STATE_OPEN = 0x00ea
MyCSS_PROPERTY_BOOKMARK_STATE_OPEN = 0x00ea,
MyCSS_PROPERTY_BOOKMARK_STATE_CLOSED = 0x003c
}
typedef mycss_property_bookmark_state_t;
@ -533,18 +542,18 @@ enum mycss_property_border_bottom_color {
typedef mycss_property_border_bottom_color_t;
enum mycss_property_border_bottom_left_radius {
MyCSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS__LENGTH = 0x0199,
MyCSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS_INHERIT = 0x0092
MyCSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS_INHERIT = 0x0092,
MyCSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_BOTTOM_LEFT_RADIUS_UNSET = 0x016e
}
typedef mycss_property_border_bottom_left_radius_t;
enum mycss_property_border_bottom_right_radius {
MyCSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS__LENGTH = 0x0199,
MyCSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS_INHERIT = 0x0092,
MyCSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS_INITIAL = 0x0093
MyCSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_BOTTOM_RIGHT_RADIUS__LENGTH = 0x0199
}
typedef mycss_property_border_bottom_right_radius_t;
@ -571,8 +580,8 @@ enum mycss_property_border_bottom_width {
MyCSS_PROPERTY_BORDER_BOTTOM_WIDTH_MEDIUM = 0x00c6,
MyCSS_PROPERTY_BORDER_BOTTOM_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_BOTTOM_WIDTH_INHERIT = 0x0092,
MyCSS_PROPERTY_BORDER_BOTTOM_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_BOTTOM_WIDTH_THIN = 0x0162
MyCSS_PROPERTY_BORDER_BOTTOM_WIDTH_THIN = 0x0162,
MyCSS_PROPERTY_BORDER_BOTTOM_WIDTH_INITIAL = 0x0093
}
typedef mycss_property_border_bottom_width_t;
@ -583,10 +592,10 @@ enum mycss_property_border_collapse {
typedef mycss_property_border_collapse_t;
enum mycss_property_border_image_repeat {
MyCSS_PROPERTY_BORDER_IMAGE_REPEAT_REPEAT = 0x0110,
MyCSS_PROPERTY_BORDER_IMAGE_REPEAT_STRETCH = 0x014c,
MyCSS_PROPERTY_BORDER_IMAGE_REPEAT_SPACE = 0x013e,
MyCSS_PROPERTY_BORDER_IMAGE_REPEAT_ROUND = 0x0118,
MyCSS_PROPERTY_BORDER_IMAGE_REPEAT_REPEAT = 0x0110
MyCSS_PROPERTY_BORDER_IMAGE_REPEAT_ROUND = 0x0118
}
typedef mycss_property_border_image_repeat_t;
@ -662,13 +671,13 @@ enum mycss_property_border_right_style {
typedef mycss_property_border_right_style_t;
enum mycss_property_border_right_width {
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_THIN = 0x0162,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH__LENGTH = 0x0199,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_THICK = 0x0161,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_MEDIUM = 0x00c6,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_INHERIT = 0x0092,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_THIN = 0x0162
MyCSS_PROPERTY_BORDER_RIGHT_WIDTH_INHERIT = 0x0092
}
typedef mycss_property_border_right_width_t;
@ -706,10 +715,10 @@ enum mycss_property_border_top_left_radius {
typedef mycss_property_border_top_left_radius_t;
enum mycss_property_border_top_right_radius {
MyCSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS__LENGTH = 0x0199,
MyCSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS_INHERIT = 0x0092,
MyCSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS_INITIAL = 0x0093
MyCSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_TOP_RIGHT_RADIUS__LENGTH = 0x0199
}
typedef mycss_property_border_top_right_radius_t;
@ -731,13 +740,13 @@ enum mycss_property_border_top_style {
typedef mycss_property_border_top_style_t;
enum mycss_property_border_top_width {
MyCSS_PROPERTY_BORDER_TOP_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_TOP_WIDTH__LENGTH = 0x0199,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_THICK = 0x0161,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_MEDIUM = 0x00c6,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_INHERIT = 0x0092,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_THIN = 0x0162
MyCSS_PROPERTY_BORDER_TOP_WIDTH_THIN = 0x0162,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_MEDIUM = 0x00c6,
MyCSS_PROPERTY_BORDER_TOP_WIDTH__LENGTH = 0x0199,
MyCSS_PROPERTY_BORDER_TOP_WIDTH_THICK = 0x0161
}
typedef mycss_property_border_top_width_t;
@ -746,9 +755,9 @@ enum mycss_property_border_width {
MyCSS_PROPERTY_BORDER_WIDTH_MEDIUM = 0x00c6,
MyCSS_PROPERTY_BORDER_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_BORDER_WIDTH_INHERIT = 0x0092,
MyCSS_PROPERTY_BORDER_WIDTH_THIN = 0x0162,
MyCSS_PROPERTY_BORDER_WIDTH__LENGTH = 0x0199,
MyCSS_PROPERTY_BORDER_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_BORDER_WIDTH__LENGTH = 0x0199
MyCSS_PROPERTY_BORDER_WIDTH_THIN = 0x0162
}
typedef mycss_property_border_width_t;
@ -778,9 +787,9 @@ enum mycss_property_box_sizing {
typedef mycss_property_box_sizing_t;
enum mycss_property_box_suppress {
MyCSS_PROPERTY_BOX_SUPPRESS_SHOW = 0x012e,
MyCSS_PROPERTY_BOX_SUPPRESS_DISCARD = 0x0057,
MyCSS_PROPERTY_BOX_SUPPRESS_HIDE = 0x0089,
MyCSS_PROPERTY_BOX_SUPPRESS_SHOW = 0x012e
MyCSS_PROPERTY_BOX_SUPPRESS_HIDE = 0x0089
}
typedef mycss_property_box_suppress_t;
@ -842,21 +851,21 @@ enum mycss_property_caret_color {
typedef mycss_property_caret_color_t;
enum mycss_property_caret_shape {
MyCSS_PROPERTY_CARET_SHAPE_BAR = 0x0021,
MyCSS_PROPERTY_CARET_SHAPE_UNDERSCORE = 0x016b,
MyCSS_PROPERTY_CARET_SHAPE_AUTO = 0x0018,
MyCSS_PROPERTY_CARET_SHAPE_BLOCK = 0x0026
MyCSS_PROPERTY_CARET_SHAPE_BLOCK = 0x0026,
MyCSS_PROPERTY_CARET_SHAPE_BAR = 0x0021
}
typedef mycss_property_caret_shape_t;
enum mycss_property_clear {
MyCSS_PROPERTY_CLEAR_BOTH = 0x002c,
MyCSS_PROPERTY_CLEAR_UNSET = 0x016e,
MyCSS_PROPERTY_CLEAR_LEFT = 0x00ae,
MyCSS_PROPERTY_CLEAR_NONE = 0x00d3,
MyCSS_PROPERTY_CLEAR_INHERIT = 0x0092,
MyCSS_PROPERTY_CLEAR_INITIAL = 0x0093,
MyCSS_PROPERTY_CLEAR_RIGHT = 0x0115
MyCSS_PROPERTY_CLEAR_RIGHT = 0x0115,
MyCSS_PROPERTY_CLEAR_BOTH = 0x002c,
MyCSS_PROPERTY_CLEAR_UNSET = 0x016e
}
typedef mycss_property_clear_t;
@ -899,9 +908,9 @@ typedef mycss_property_color_interpolation_t;
enum mycss_property_color_interpolation_filters {
MyCSS_PROPERTY_COLOR_INTERPOLATION_FILTERS_INHERIT = 0x0092,
MyCSS_PROPERTY_COLOR_INTERPOLATION_FILTERS_LINEARRGB = 0x00b3,
MyCSS_PROPERTY_COLOR_INTERPOLATION_FILTERS_AUTO = 0x0018,
MyCSS_PROPERTY_COLOR_INTERPOLATION_FILTERS_SRGB = 0x0144,
MyCSS_PROPERTY_COLOR_INTERPOLATION_FILTERS_LINEARRGB = 0x00b3
MyCSS_PROPERTY_COLOR_INTERPOLATION_FILTERS_SRGB = 0x0144
}
typedef mycss_property_color_interpolation_filters_t;
@ -919,9 +928,9 @@ enum mycss_property_column_count {
typedef mycss_property_column_count_t;
enum mycss_property_column_fill {
MyCSS_PROPERTY_COLUMN_FILL_BALANCE = 0x001f,
MyCSS_PROPERTY_COLUMN_FILL_AUTO = 0x0018,
MyCSS_PROPERTY_COLUMN_FILL_BALANCE_ALL = 0x0020
MyCSS_PROPERTY_COLUMN_FILL_BALANCE_ALL = 0x0020,
MyCSS_PROPERTY_COLUMN_FILL_BALANCE = 0x001f
}
typedef mycss_property_column_fill_t;
@ -968,8 +977,8 @@ enum mycss_property_contain {
typedef mycss_property_contain_t;
enum mycss_property_content {
MyCSS_PROPERTY_CONTENT_NONE = 0x00d3,
MyCSS_PROPERTY_CONTENT_NORMAL = 0x00d5
MyCSS_PROPERTY_CONTENT_NORMAL = 0x00d5,
MyCSS_PROPERTY_CONTENT_NONE = 0x00d3
}
typedef mycss_property_content_t;
@ -998,11 +1007,6 @@ enum mycss_property_cue_before {
typedef mycss_property_cue_before_t;
enum mycss_property_cursor {
MyCSS_PROPERTY_CURSOR_CELL = 0x0036,
MyCSS_PROPERTY_CURSOR_DEFAULT = 0x0053,
MyCSS_PROPERTY_CURSOR_HELP = 0x0087,
MyCSS_PROPERTY_CURSOR_POINTER = 0x0102,
MyCSS_PROPERTY_CURSOR_CONTEXT_MENU = 0x004a,
MyCSS_PROPERTY_CURSOR_AUTO = 0x0018,
MyCSS_PROPERTY_CURSOR_NONE = 0x00d3,
MyCSS_PROPERTY_CURSOR_WAIT = 0x0178,
@ -1036,7 +1040,12 @@ enum mycss_property_cursor {
MyCSS_PROPERTY_CURSOR_ROW_RESIZE = 0x011a,
MyCSS_PROPERTY_CURSOR_ALL_SCROLL = 0x0013,
MyCSS_PROPERTY_CURSOR_ZOOM_OUT = 0x018e,
MyCSS_PROPERTY_CURSOR_INITIAL = 0x0093
MyCSS_PROPERTY_CURSOR_INITIAL = 0x0093,
MyCSS_PROPERTY_CURSOR_CELL = 0x0036,
MyCSS_PROPERTY_CURSOR_DEFAULT = 0x0053,
MyCSS_PROPERTY_CURSOR_HELP = 0x0087,
MyCSS_PROPERTY_CURSOR_POINTER = 0x0102,
MyCSS_PROPERTY_CURSOR_CONTEXT_MENU = 0x004a
}
typedef mycss_property_cursor_t;
@ -1048,6 +1057,18 @@ typedef mycss_property_direction_t;
enum mycss_property_display {
MyCSS_PROPERTY_DISPLAY_GRID = 0x0084,
MyCSS_PROPERTY_DISPLAY_INLINE_FLEX = 0x0097,
MyCSS_PROPERTY_DISPLAY_INLINE_BLOCK = 0x0096,
MyCSS_PROPERTY_DISPLAY_INLINE_TABLE = 0x009a,
MyCSS_PROPERTY_DISPLAY_RUBY_BASE_CONTAINER = 0x011f,
MyCSS_PROPERTY_DISPLAY_RUBY_TEXT_CONTAINER = 0x0121,
MyCSS_PROPERTY_DISPLAY_INLINE_LIST_ITEM = 0x0099,
MyCSS_PROPERTY_DISPLAY_INLINE_GRID = 0x0098,
MyCSS_PROPERTY_DISPLAY_TABLE = 0x0154,
MyCSS_PROPERTY_DISPLAY_RUBY_BASE = 0x011e,
MyCSS_PROPERTY_DISPLAY_NONE = 0x00d3,
MyCSS_PROPERTY_DISPLAY_TABLE_CELL = 0x0156,
MyCSS_PROPERTY_DISPLAY_TABLE_ROW_GROUP = 0x015c,
MyCSS_PROPERTY_DISPLAY_FLOW = 0x007b,
MyCSS_PROPERTY_DISPLAY_BLOCK = 0x0026,
MyCSS_PROPERTY_DISPLAY_FLOW_ROOT = 0x007c,
@ -1066,19 +1087,7 @@ enum mycss_property_display {
MyCSS_PROPERTY_DISPLAY_CONTENTS = 0x0046,
MyCSS_PROPERTY_DISPLAY_LIST_ITEM = 0x00b7,
MyCSS_PROPERTY_DISPLAY_TABLE_ROW = 0x015b,
MyCSS_PROPERTY_DISPLAY_INITIAL = 0x0093,
MyCSS_PROPERTY_DISPLAY_INLINE_FLEX = 0x0097,
MyCSS_PROPERTY_DISPLAY_INLINE_BLOCK = 0x0096,
MyCSS_PROPERTY_DISPLAY_INLINE_TABLE = 0x009a,
MyCSS_PROPERTY_DISPLAY_RUBY_BASE_CONTAINER = 0x011f,
MyCSS_PROPERTY_DISPLAY_RUBY_TEXT_CONTAINER = 0x0121,
MyCSS_PROPERTY_DISPLAY_INLINE_LIST_ITEM = 0x0099,
MyCSS_PROPERTY_DISPLAY_INLINE_GRID = 0x0098,
MyCSS_PROPERTY_DISPLAY_TABLE = 0x0154,
MyCSS_PROPERTY_DISPLAY_RUBY_BASE = 0x011e,
MyCSS_PROPERTY_DISPLAY_NONE = 0x00d3,
MyCSS_PROPERTY_DISPLAY_TABLE_CELL = 0x0156,
MyCSS_PROPERTY_DISPLAY_TABLE_ROW_GROUP = 0x015c
MyCSS_PROPERTY_DISPLAY_INITIAL = 0x0093
}
typedef mycss_property_display_t;
@ -1138,7 +1147,6 @@ enum mycss_property_flex_wrap {
typedef mycss_property_flex_wrap_t;
enum mycss_property_float {
MyCSS_PROPERTY_FLOAT_TOP = 0x0164,
MyCSS_PROPERTY_FLOAT_LEFT = 0x00ae,
MyCSS_PROPERTY_FLOAT_NONE = 0x00d3,
MyCSS_PROPERTY_FLOAT_UNSET = 0x016e,
@ -1147,7 +1155,8 @@ enum mycss_property_float {
MyCSS_PROPERTY_FLOAT_RIGHT = 0x0115,
MyCSS_PROPERTY_FLOAT_END = 0x0066,
MyCSS_PROPERTY_FLOAT_START = 0x0146,
MyCSS_PROPERTY_FLOAT_BOTTOM = 0x002d
MyCSS_PROPERTY_FLOAT_BOTTOM = 0x002d,
MyCSS_PROPERTY_FLOAT_TOP = 0x0164
}
typedef mycss_property_float_t;
@ -1272,8 +1281,6 @@ enum mycss_property_font_variant {
MyCSS_PROPERTY_FONT_VARIANT_NORMAL = 0x00d5,
MyCSS_PROPERTY_FONT_VARIANT_ALL_SMALL_CAPS = 0x0014,
MyCSS_PROPERTY_FONT_VARIANT_ORDINAL = 0x00ee,
MyCSS_PROPERTY_FONT_VARIANT_SUB = 0x0150,
MyCSS_PROPERTY_FONT_VARIANT_RUBY = 0x011d,
MyCSS_PROPERTY_FONT_VARIANT_SMALL_CAPS = 0x013a,
MyCSS_PROPERTY_FONT_VARIANT_PETITE_CAPS = 0x0100,
MyCSS_PROPERTY_FONT_VARIANT_HISTORICAL_FORMS = 0x008b,
@ -1281,13 +1288,15 @@ enum mycss_property_font_variant {
MyCSS_PROPERTY_FONT_VARIANT_ALL_PETITE_CAPS = 0x0012,
MyCSS_PROPERTY_FONT_VARIANT_TITLING_CAPS = 0x0163,
MyCSS_PROPERTY_FONT_VARIANT_SLASHED_ZERO = 0x0135,
MyCSS_PROPERTY_FONT_VARIANT_SUPER = 0x0151
MyCSS_PROPERTY_FONT_VARIANT_SUPER = 0x0151,
MyCSS_PROPERTY_FONT_VARIANT_SUB = 0x0150,
MyCSS_PROPERTY_FONT_VARIANT_RUBY = 0x011d
}
typedef mycss_property_font_variant_t;
enum mycss_property_font_variant_alternates {
MyCSS_PROPERTY_FONT_VARIANT_ALTERNATES_NORMAL = 0x00d5,
MyCSS_PROPERTY_FONT_VARIANT_ALTERNATES_HISTORICAL_FORMS = 0x008b
MyCSS_PROPERTY_FONT_VARIANT_ALTERNATES_HISTORICAL_FORMS = 0x008b,
MyCSS_PROPERTY_FONT_VARIANT_ALTERNATES_NORMAL = 0x00d5
}
typedef mycss_property_font_variant_alternates_t;
@ -1304,15 +1313,15 @@ typedef mycss_property_font_variant_caps_t;
enum mycss_property_font_variant_east_asian {
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_PROPORTIONAL_WIDTH = 0x010a,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_SIMPLIFIED = 0x0133,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_FULL_WIDTH = 0x0080,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_TRADITIONAL = 0x0165,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_JIS04 = 0x00a3,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_RUBY = 0x011d,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_JIS78 = 0x00a4,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_NORMAL = 0x00d5,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_JIS83 = 0x00a5,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_JIS90 = 0x00a6
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_JIS90 = 0x00a6,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_SIMPLIFIED = 0x0133,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_FULL_WIDTH = 0x0080,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_TRADITIONAL = 0x0165,
MyCSS_PROPERTY_FONT_VARIANT_EAST_ASIAN_JIS04 = 0x00a3
}
typedef mycss_property_font_variant_east_asian_t;
@ -1387,17 +1396,17 @@ enum mycss_property_hanging_punctuation {
typedef mycss_property_hanging_punctuation_t;
enum mycss_property_height {
MyCSS_PROPERTY_HEIGHT_FIT_CONTENT = 0x0075,
MyCSS_PROPERTY_HEIGHT_UNSET = 0x016e,
MyCSS_PROPERTY_HEIGHT_INHERIT = 0x0092,
MyCSS_PROPERTY_HEIGHT_INITIAL = 0x0093,
MyCSS_PROPERTY_HEIGHT_AUTO = 0x0018,
MyCSS_PROPERTY_HEIGHT__LENGTH = 0x0199,
MyCSS_PROPERTY_HEIGHT_COMPLEX = 0x0042,
MyCSS_PROPERTY_HEIGHT_AVAILABLE = 0x0019,
MyCSS_PROPERTY_HEIGHT__PERCENTAGE = 0x019c,
MyCSS_PROPERTY_HEIGHT_MIN_CONTENT = 0x00cb,
MyCSS_PROPERTY_HEIGHT_MAX_CONTENT = 0x00c5,
MyCSS_PROPERTY_HEIGHT_FIT_CONTENT = 0x0075,
MyCSS_PROPERTY_HEIGHT_UNSET = 0x016e,
MyCSS_PROPERTY_HEIGHT_INHERIT = 0x0092,
MyCSS_PROPERTY_HEIGHT_INITIAL = 0x0093
MyCSS_PROPERTY_HEIGHT_MAX_CONTENT = 0x00c5
}
typedef mycss_property_height_t;
@ -1409,28 +1418,28 @@ enum mycss_property_hyphens {
typedef mycss_property_hyphens_t;
enum mycss_property_image_rendering {
MyCSS_PROPERTY_IMAGE_RENDERING_OPTIMIZEQUALITY = 0x00ec,
MyCSS_PROPERTY_IMAGE_RENDERING_AUTO = 0x0018,
MyCSS_PROPERTY_IMAGE_RENDERING_INHERIT = 0x0092,
MyCSS_PROPERTY_IMAGE_RENDERING_OPTIMIZESPEED = 0x00ed
MyCSS_PROPERTY_IMAGE_RENDERING_OPTIMIZESPEED = 0x00ed,
MyCSS_PROPERTY_IMAGE_RENDERING_OPTIMIZEQUALITY = 0x00ec,
MyCSS_PROPERTY_IMAGE_RENDERING_AUTO = 0x0018
}
typedef mycss_property_image_rendering_t;
enum mycss_property_indent_edge_reset {
MyCSS_PROPERTY_INDENT_EDGE_RESET_NONE = 0x00d3,
MyCSS_PROPERTY_INDENT_EDGE_RESET_MARGIN_EDGE = 0x00c2,
MyCSS_PROPERTY_INDENT_EDGE_RESET_BORDER_EDGE = 0x002b,
MyCSS_PROPERTY_INDENT_EDGE_RESET_PADDING_EDGE = 0x00f5,
MyCSS_PROPERTY_INDENT_EDGE_RESET_CONTENT_EDGE = 0x0048,
MyCSS_PROPERTY_INDENT_EDGE_RESET_NONE = 0x00d3
MyCSS_PROPERTY_INDENT_EDGE_RESET_CONTENT_EDGE = 0x0048
}
typedef mycss_property_indent_edge_reset_t;
enum mycss_property_justify_content {
MyCSS_PROPERTY_JUSTIFY_CONTENT_FLEX_START = 0x007a,
MyCSS_PROPERTY_JUSTIFY_CONTENT_CENTER = 0x0037,
MyCSS_PROPERTY_JUSTIFY_CONTENT_FLEX_END = 0x0079,
MyCSS_PROPERTY_JUSTIFY_CONTENT_SPACE_AROUND = 0x0140,
MyCSS_PROPERTY_JUSTIFY_CONTENT_SPACE_BETWEEN = 0x0141
MyCSS_PROPERTY_JUSTIFY_CONTENT_SPACE_BETWEEN = 0x0141,
MyCSS_PROPERTY_JUSTIFY_CONTENT_FLEX_START = 0x007a
}
typedef mycss_property_justify_content_t;
@ -1445,9 +1454,9 @@ enum mycss_property_letter_spacing {
typedef mycss_property_letter_spacing_t;
enum mycss_property_line_break {
MyCSS_PROPERTY_LINE_BREAK_LOOSE = 0x00ba,
MyCSS_PROPERTY_LINE_BREAK_STRICT = 0x014d,
MyCSS_PROPERTY_LINE_BREAK_NORMAL = 0x00d5,
MyCSS_PROPERTY_LINE_BREAK_STRICT = 0x014d,
MyCSS_PROPERTY_LINE_BREAK_LOOSE = 0x00ba,
MyCSS_PROPERTY_LINE_BREAK_AUTO = 0x0018
}
typedef mycss_property_line_break_t;
@ -1551,12 +1560,12 @@ enum mycss_property_marker_start {
typedef mycss_property_marker_start_t;
enum mycss_property_max_height {
MyCSS_PROPERTY_MAX_HEIGHT_INITIAL = 0x0093,
MyCSS_PROPERTY_MAX_HEIGHT_INHERIT = 0x0092,
MyCSS_PROPERTY_MAX_HEIGHT_NONE = 0x00d3,
MyCSS_PROPERTY_MAX_HEIGHT__LENGTH = 0x0199,
MyCSS_PROPERTY_MAX_HEIGHT_UNSET = 0x016e,
MyCSS_PROPERTY_MAX_HEIGHT__PERCENTAGE = 0x019c
MyCSS_PROPERTY_MAX_HEIGHT__PERCENTAGE = 0x019c,
MyCSS_PROPERTY_MAX_HEIGHT_INITIAL = 0x0093
}
typedef mycss_property_max_height_t;
@ -1566,12 +1575,12 @@ enum mycss_property_max_lines {
typedef mycss_property_max_lines_t;
enum mycss_property_max_width {
MyCSS_PROPERTY_MAX_WIDTH_NONE = 0x00d3,
MyCSS_PROPERTY_MAX_WIDTH__LENGTH = 0x0199,
MyCSS_PROPERTY_MAX_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_MAX_WIDTH__PERCENTAGE = 0x019c,
MyCSS_PROPERTY_MAX_WIDTH_INHERIT = 0x0092,
MyCSS_PROPERTY_MAX_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_MAX_WIDTH_NONE = 0x00d3
MyCSS_PROPERTY_MAX_WIDTH_INITIAL = 0x0093
}
typedef mycss_property_max_width_t;
@ -1585,11 +1594,11 @@ enum mycss_property_min_height {
typedef mycss_property_min_height_t;
enum mycss_property_min_width {
MyCSS_PROPERTY_MIN_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_MIN_WIDTH__LENGTH = 0x0199,
MyCSS_PROPERTY_MIN_WIDTH_INHERIT = 0x0092,
MyCSS_PROPERTY_MIN_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_MIN_WIDTH__PERCENTAGE = 0x019c,
MyCSS_PROPERTY_MIN_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_MIN_WIDTH__LENGTH = 0x0199
MyCSS_PROPERTY_MIN_WIDTH__PERCENTAGE = 0x019c
}
typedef mycss_property_min_width_t;
@ -1671,17 +1680,17 @@ enum mycss_property_overflow {
typedef mycss_property_overflow_t;
enum mycss_property_overflow_wrap {
MyCSS_PROPERTY_OVERFLOW_WRAP_NORMAL = 0x00d5,
MyCSS_PROPERTY_OVERFLOW_WRAP_BREAK_WORD = 0x0032,
MyCSS_PROPERTY_OVERFLOW_WRAP_BREAK_SPACES = 0x0031,
MyCSS_PROPERTY_OVERFLOW_WRAP_NORMAL = 0x00d5
MyCSS_PROPERTY_OVERFLOW_WRAP_BREAK_SPACES = 0x0031
}
typedef mycss_property_overflow_wrap_t;
enum mycss_property_overflow_x {
MyCSS_PROPERTY_OVERFLOW_X_NO_CONTENT = 0x00d9,
MyCSS_PROPERTY_OVERFLOW_X_INITIAL = 0x0093,
MyCSS_PROPERTY_OVERFLOW_X_INHERIT = 0x0092,
MyCSS_PROPERTY_OVERFLOW_X_NO_DISPLAY = 0x00dc,
MyCSS_PROPERTY_OVERFLOW_X_NO_CONTENT = 0x00d9,
MyCSS_PROPERTY_OVERFLOW_X_AUTO = 0x0018,
MyCSS_PROPERTY_OVERFLOW_X_HIDDEN = 0x0088,
MyCSS_PROPERTY_OVERFLOW_X_VISIBLE = 0x0177,
@ -1731,11 +1740,11 @@ enum mycss_property_padding_left {
typedef mycss_property_padding_left_t;
enum mycss_property_padding_right {
MyCSS_PROPERTY_PADDING_RIGHT_INHERIT = 0x0092,
MyCSS_PROPERTY_PADDING_RIGHT_UNSET = 0x016e,
MyCSS_PROPERTY_PADDING_RIGHT__LENGTH = 0x0199,
MyCSS_PROPERTY_PADDING_RIGHT_INITIAL = 0x0093,
MyCSS_PROPERTY_PADDING_RIGHT__PERCENTAGE = 0x019c,
MyCSS_PROPERTY_PADDING_RIGHT_INHERIT = 0x0092
MyCSS_PROPERTY_PADDING_RIGHT__PERCENTAGE = 0x019c
}
typedef mycss_property_padding_right_t;
@ -1795,8 +1804,8 @@ enum mycss_property_position {
typedef mycss_property_position_t;
enum mycss_property_presentation_level {
MyCSS_PROPERTY_PRESENTATION_LEVEL_SAME = 0x0124,
MyCSS_PROPERTY_PRESENTATION_LEVEL_INCREMENT = 0x0090
MyCSS_PROPERTY_PRESENTATION_LEVEL_INCREMENT = 0x0090,
MyCSS_PROPERTY_PRESENTATION_LEVEL_SAME = 0x0124
}
typedef mycss_property_presentation_level_t;
@ -1812,10 +1821,10 @@ enum mycss_property_region_fragment {
typedef mycss_property_region_fragment_t;
enum mycss_property_resize {
MyCSS_PROPERTY_RESIZE_NONE = 0x00d3,
MyCSS_PROPERTY_RESIZE_BOTH = 0x002c,
MyCSS_PROPERTY_RESIZE_VERTICAL = 0x0172,
MyCSS_PROPERTY_RESIZE_HORIZONTAL = 0x008d
MyCSS_PROPERTY_RESIZE_HORIZONTAL = 0x008d,
MyCSS_PROPERTY_RESIZE_NONE = 0x00d3,
MyCSS_PROPERTY_RESIZE_BOTH = 0x002c
}
typedef mycss_property_resize_t;
@ -1898,11 +1907,11 @@ enum mycss_property_shape_outside {
typedef mycss_property_shape_outside_t;
enum mycss_property_shape_rendering {
MyCSS_PROPERTY_SHAPE_RENDERING_AUTO = 0x0018,
MyCSS_PROPERTY_SHAPE_RENDERING_INHERIT = 0x0092,
MyCSS_PROPERTY_SHAPE_RENDERING_CRISPEDGES = 0x004d,
MyCSS_PROPERTY_SHAPE_RENDERING_OPTIMIZESPEED = 0x00ed,
MyCSS_PROPERTY_SHAPE_RENDERING_GEOMETRICPRECISION = 0x0081,
MyCSS_PROPERTY_SHAPE_RENDERING_AUTO = 0x0018
MyCSS_PROPERTY_SHAPE_RENDERING_GEOMETRICPRECISION = 0x0081
}
typedef mycss_property_shape_rendering_t;
@ -1960,43 +1969,43 @@ enum mycss_property_table_layout {
typedef mycss_property_table_layout_t;
enum mycss_property_text_align {
MyCSS_PROPERTY_TEXT_ALIGN_INITIAL = 0x0093,
MyCSS_PROPERTY_TEXT_ALIGN_START = 0x0146,
MyCSS_PROPERTY_TEXT_ALIGN_INITIAL = 0x0093,
MyCSS_PROPERTY_TEXT_ALIGN_END = 0x0066,
MyCSS_PROPERTY_TEXT_ALIGN_LEFT = 0x00ae,
MyCSS_PROPERTY_TEXT_ALIGN_JUSTIFY_ALL = 0x00a8,
MyCSS_PROPERTY_TEXT_ALIGN_LEFT = 0x00ae,
MyCSS_PROPERTY_TEXT_ALIGN_JUSTIFY = 0x00a7,
MyCSS_PROPERTY_TEXT_ALIGN_MATCH_PARENT = 0x00c3,
MyCSS_PROPERTY_TEXT_ALIGN_UNSET = 0x016e,
MyCSS_PROPERTY_TEXT_ALIGN_RIGHT = 0x0115,
MyCSS_PROPERTY_TEXT_ALIGN_CENTER = 0x0037,
MyCSS_PROPERTY_TEXT_ALIGN_INHERIT = 0x0092,
MyCSS_PROPERTY_TEXT_ALIGN_JUSTIFY = 0x00a7
MyCSS_PROPERTY_TEXT_ALIGN_INHERIT = 0x0092
}
typedef mycss_property_text_align_t;
enum mycss_property_text_align_all {
MyCSS_PROPERTY_TEXT_ALIGN_ALL_END = 0x0066,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_START = 0x0146,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_RIGHT = 0x0115,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_LEFT = 0x00ae,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_END = 0x0066,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_CENTER = 0x0037,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_LEFT = 0x00ae,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_UNSET = 0x016e,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_RIGHT = 0x0115,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_JUSTIFY = 0x00a7,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_INHERIT = 0x0092,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_INITIAL = 0x0093,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_UNSET = 0x016e,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_MATCH_PARENT = 0x00c3,
MyCSS_PROPERTY_TEXT_ALIGN_ALL_JUSTIFY = 0x00a7
MyCSS_PROPERTY_TEXT_ALIGN_ALL_MATCH_PARENT = 0x00c3
}
typedef mycss_property_text_align_all_t;
enum mycss_property_text_align_last {
MyCSS_PROPERTY_TEXT_ALIGN_LAST_START = 0x0146,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_LEFT = 0x00ae,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_CENTER = 0x0037,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_RIGHT = 0x0115,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_UNSET = 0x016e,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_INHERIT = 0x0092,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_JUSTIFY = 0x00a7,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_INITIAL = 0x0093,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_LEFT = 0x00ae,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_RIGHT = 0x0115,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_JUSTIFY = 0x00a7,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_INHERIT = 0x0092,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_AUTO = 0x0018,
MyCSS_PROPERTY_TEXT_ALIGN_LAST_END = 0x0066
}
@ -2018,27 +2027,27 @@ enum mycss_property_text_decoration_color {
typedef mycss_property_text_decoration_color_t;
enum mycss_property_text_decoration_line {
MyCSS_PROPERTY_TEXT_DECORATION_LINE_NONE = 0x00d3,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_LINE_THROUGH = 0x00b4,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_OVERLINE = 0x00f3,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_UNSET = 0x016e,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_UNDERLINE = 0x016a,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_INITIAL = 0x0093,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_BLINK = 0x0025,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_INHERIT = 0x0092
MyCSS_PROPERTY_TEXT_DECORATION_LINE_INHERIT = 0x0092,
MyCSS_PROPERTY_TEXT_DECORATION_LINE_NONE = 0x00d3
}
typedef mycss_property_text_decoration_line_t;
enum mycss_property_text_decoration_skip {
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_INK = 0x0094,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_UNSET = 0x016e,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_INHERIT = 0x0092,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_INITIAL = 0x0093,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_BOX_DECORATION = 0x002e,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_NONE = 0x00d3,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_SPACES = 0x013f,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_OBJECTS = 0x00e5,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_EDGES = 0x0063
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_EDGES = 0x0063,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_INK = 0x0094,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_NONE = 0x00d3,
MyCSS_PROPERTY_TEXT_DECORATION_SKIP_UNSET = 0x016e
}
typedef mycss_property_text_decoration_skip_t;
@ -2068,14 +2077,14 @@ enum mycss_property_text_emphasis_position {
typedef mycss_property_text_emphasis_position_t;
enum mycss_property_text_emphasis_style {
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_CIRCLE = 0x0038,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_DOT = 0x0059,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_NONE = 0x00d3,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_OPEN = 0x00ea,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_FILLED = 0x0071,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_DOUBLE_CIRCLE = 0x005c,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_SESAMEINITIAL = 0x012c,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_TRIANGLE = 0x0166,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_CIRCLE = 0x0038,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_DOT = 0x0059,
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_NONE = 0x00d3
MyCSS_PROPERTY_TEXT_EMPHASIS_STYLE_TRIANGLE = 0x0166
}
typedef mycss_property_text_emphasis_style_t;
@ -2107,11 +2116,11 @@ enum mycss_property_text_overflow {
typedef mycss_property_text_overflow_t;
enum mycss_property_text_rendering {
MyCSS_PROPERTY_TEXT_RENDERING_AUTO = 0x0018,
MyCSS_PROPERTY_TEXT_RENDERING_INHERIT = 0x0092,
MyCSS_PROPERTY_TEXT_RENDERING_OPTIMIZESPEED = 0x00ed,
MyCSS_PROPERTY_TEXT_RENDERING_OPTIMIZELEGIBILITY = 0x00eb,
MyCSS_PROPERTY_TEXT_RENDERING_GEOMETRICPRECISION = 0x0081,
MyCSS_PROPERTY_TEXT_RENDERING_AUTO = 0x0018,
MyCSS_PROPERTY_TEXT_RENDERING_INHERIT = 0x0092
MyCSS_PROPERTY_TEXT_RENDERING_GEOMETRICPRECISION = 0x0081
}
typedef mycss_property_text_rendering_t;
@ -2149,7 +2158,6 @@ enum mycss_property_top {
typedef mycss_property_top_t;
enum mycss_property_touch_action {
MyCSS_PROPERTY_TOUCH_ACTION_NONE = 0x00d3,
MyCSS_PROPERTY_TOUCH_ACTION_PAN_RIGHT = 0x00fb,
MyCSS_PROPERTY_TOUCH_ACTION_PAN_UP = 0x00fc,
MyCSS_PROPERTY_TOUCH_ACTION_PAN_LEFT = 0x00fa,
@ -2157,7 +2165,8 @@ enum mycss_property_touch_action {
MyCSS_PROPERTY_TOUCH_ACTION_AUTO = 0x0018,
MyCSS_PROPERTY_TOUCH_ACTION_PAN_Y = 0x00fe,
MyCSS_PROPERTY_TOUCH_ACTION_PAN_DOWN = 0x00f9,
MyCSS_PROPERTY_TOUCH_ACTION_MANIPULATION = 0x00c0
MyCSS_PROPERTY_TOUCH_ACTION_MANIPULATION = 0x00c0,
MyCSS_PROPERTY_TOUCH_ACTION_NONE = 0x00d3
}
typedef mycss_property_touch_action_t;
@ -2207,12 +2216,12 @@ enum mycss_property_transition_timing_function {
typedef mycss_property_transition_timing_function_t;
enum mycss_property_unicode_bidi {
MyCSS_PROPERTY_UNICODE_BIDI_NORMAL = 0x00d5,
MyCSS_PROPERTY_UNICODE_BIDI_ISOLATE = 0x00a0,
MyCSS_PROPERTY_UNICODE_BIDI_BIDI_OVERRIDE = 0x0024,
MyCSS_PROPERTY_UNICODE_BIDI_PLAINTEXT = 0x0101,
MyCSS_PROPERTY_UNICODE_BIDI_ISOLATE_OVERRIDE = 0x00a1,
MyCSS_PROPERTY_UNICODE_BIDI_EMBED = 0x0065
MyCSS_PROPERTY_UNICODE_BIDI_EMBED = 0x0065,
MyCSS_PROPERTY_UNICODE_BIDI_NORMAL = 0x00d5
}
typedef mycss_property_unicode_bidi_t;
@ -2226,6 +2235,7 @@ enum mycss_property_user_select {
typedef mycss_property_user_select_t;
enum mycss_property_vertical_align {
MyCSS_PROPERTY_VERTICAL_ALIGN_SUB = 0x0150,
MyCSS_PROPERTY_VERTICAL_ALIGN_TOP = 0x0164,
MyCSS_PROPERTY_VERTICAL_ALIGN__LENGTH = 0x0199,
MyCSS_PROPERTY_VERTICAL_ALIGN_BASELINE = 0x0022,
@ -2237,8 +2247,7 @@ enum mycss_property_vertical_align {
MyCSS_PROPERTY_VERTICAL_ALIGN_BOTTOM = 0x002d,
MyCSS_PROPERTY_VERTICAL_ALIGN_INHERIT = 0x0092,
MyCSS_PROPERTY_VERTICAL_ALIGN_INITIAL = 0x0093,
MyCSS_PROPERTY_VERTICAL_ALIGN_TEXT_BOTTOM = 0x015f,
MyCSS_PROPERTY_VERTICAL_ALIGN_SUB = 0x0150
MyCSS_PROPERTY_VERTICAL_ALIGN_TEXT_BOTTOM = 0x015f
}
typedef mycss_property_vertical_align_t;
@ -2321,15 +2330,16 @@ enum mycss_property_voice_volume {
typedef mycss_property_voice_volume_t;
enum mycss_property_white_space {
MyCSS_PROPERTY_WHITE_SPACE_PRE = 0x0103,
MyCSS_PROPERTY_WHITE_SPACE_NORMAL = 0x00d5,
MyCSS_PROPERTY_WHITE_SPACE_NOWRAP = 0x00d7,
MyCSS_PROPERTY_WHITE_SPACE_PRE_WRAP = 0x0107,
MyCSS_PROPERTY_WHITE_SPACE_PRE_LINE = 0x0106
MyCSS_PROPERTY_WHITE_SPACE_PRE_LINE = 0x0106,
MyCSS_PROPERTY_WHITE_SPACE_PRE = 0x0103
}
typedef mycss_property_white_space_t;
enum mycss_property_width {
MyCSS_PROPERTY_WIDTH_AUTO = 0x0018,
MyCSS_PROPERTY_WIDTH__LENGTH = 0x0199,
MyCSS_PROPERTY_WIDTH_UNSET = 0x016e,
MyCSS_PROPERTY_WIDTH_AVAILABLE = 0x0019,
@ -2338,8 +2348,7 @@ enum mycss_property_width {
MyCSS_PROPERTY_WIDTH_MAX_CONTENT = 0x00c5,
MyCSS_PROPERTY_WIDTH_FIT_CONTENT = 0x0075,
MyCSS_PROPERTY_WIDTH_INHERIT = 0x0092,
MyCSS_PROPERTY_WIDTH_INITIAL = 0x0093,
MyCSS_PROPERTY_WIDTH_AUTO = 0x0018
MyCSS_PROPERTY_WIDTH_INITIAL = 0x0093
}
typedef mycss_property_width_t;
@ -2351,8 +2360,8 @@ enum mycss_property_will_change {
typedef mycss_property_will_change_t;
enum mycss_property_word_break {
MyCSS_PROPERTY_WORD_BREAK_KEEP_ALL = 0x00a9,
MyCSS_PROPERTY_WORD_BREAK_BREAK_ALL = 0x0030,
MyCSS_PROPERTY_WORD_BREAK_KEEP_ALL = 0x00a9,
MyCSS_PROPERTY_WORD_BREAK_NORMAL = 0x00d5
}
typedef mycss_property_word_break_t;
@ -2363,9 +2372,9 @@ enum mycss_property_word_spacing {
typedef mycss_property_word_spacing_t;
enum mycss_property_word_wrap {
MyCSS_PROPERTY_WORD_WRAP_NORMAL = 0x00d5,
MyCSS_PROPERTY_WORD_WRAP_BREAK_SPACES = 0x0031,
MyCSS_PROPERTY_WORD_WRAP_BREAK_WORD = 0x0032,
MyCSS_PROPERTY_WORD_WRAP_NORMAL = 0x00d5
MyCSS_PROPERTY_WORD_WRAP_BREAK_WORD = 0x0032
}
typedef mycss_property_word_wrap_t;

View File

@ -1044,12 +1044,6 @@ bool mycss_property_parser_cursor(mycss_entry_t* entry, mycss_token_t* token, bo
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/* background */
bool mycss_property_parser_background_color(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
return mycss_property_parser_color(entry, token, last_response);
}
/* float */
bool mycss_property_parser_float(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
@ -1872,442 +1866,6 @@ bool mycss_property_parser_text_align_last(mycss_entry_t* entry, mycss_token_t*
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/*
Background
*/
bool mycss_property_parser_background_end(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
return mycss_property_shared_switch_to_parse_error(entry);
}
bool mycss_property_parser_background(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
return mycss_property_shared_switch_to_parse_error(entry);
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
void *value = NULL;
unsigned int value_type = 0;
bool parser_changed = false;
if(mycss_property_shared_image(entry, token, &value, &value_type, &str, &parser_changed))
{
mycss_declaration_entry_t* declr_image = mycss_declaration_entry_create(entry->declaration, NULL);
declr_image->type = MyCSS_PROPERTY_TYPE_BACKGROUND_IMAGE;
declr_image->value = value;
declr_image->value_type = value_type;
if(parser_changed) {
entry->declaration->entry_last = value;
entry->declaration->entry_temp = dec_entry;
entry->parser_switch = mycss_property_parser_background_end;
}
return mycss_property_parser_destroy_string(&str, true);
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/*
* Background Attachment
*/
static bool mycss_property_parser_background_attachment_end(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
if(mycss_property_shared_check_declaration_end(entry, token)) {
return true;
}
if(token->type == MyCSS_TOKEN_TYPE_COMMA) {
entry->parser = mycss_property_parser_background_attachment;
return true;
}
return mycss_property_shared_switch_to_parse_error(entry);
}
bool mycss_property_parser_background_attachment(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
unsigned int value_type = 0;
if(mycss_property_shared_background_attachment(entry, token, &value_type, &str))
{
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_type_list_t));
unsigned int *type = mycss_values_type_list_add_entry(entry, dec_entry->value);
*type = value_type;
entry->parser = mycss_property_parser_background_attachment_end;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_default(entry, token, &dec_entry->value_type, &str)) {
if(dec_entry->value == NULL)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry));
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/*
* Background Clip
*/
static bool mycss_property_parser_background_clip_end(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
if(mycss_property_shared_check_declaration_end(entry, token)) {
return true;
}
if(token->type == MyCSS_TOKEN_TYPE_COMMA) {
entry->parser = mycss_property_parser_background_clip;
return true;
}
return mycss_property_shared_switch_to_parse_error(entry);
}
bool mycss_property_parser_background_clip(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
unsigned int value_type = 0;
if(mycss_property_shared_background_clip(entry, token, &value_type, &str))
{
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_type_list_t));
unsigned int *type = mycss_values_type_list_add_entry(entry, dec_entry->value);
*type = value_type;
entry->parser = mycss_property_parser_background_clip_end;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_default(entry, token, &dec_entry->value_type, &str)) {
if(dec_entry->value == NULL)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry));
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/*
* Background Image
*/
bool mycss_property_parser_background_image_end(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
if(mycss_property_shared_check_declaration_end(entry, token)) {
return true;
}
if(token->type == MyCSS_TOKEN_TYPE_COMMA) {
entry->parser = mycss_property_parser_background_image;
return true;
}
return mycss_property_shared_switch_to_parse_error(entry);
}
bool mycss_property_parser_background_image(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_values_image_t stat_image;
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
void *value = &stat_image;
unsigned int value_type = 0;
bool parser_changed = false;
if(mycss_property_shared_image(entry, token, &value, &value_type, &str, &parser_changed))
{
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_image_list_t));
mycss_values_image_t *image = mycss_values_image_list_add_entry(entry, dec_entry->value);
*image = stat_image;
if(dec_entry->value_type == MyCSS_PROPERTY_VALUE_UNDEF)
dec_entry->value_type = MyCSS_PROPERTY_VALUE__IMAGE_LIST;
if(parser_changed) {
mycss_stack_push(entry->declaration->stack, dec_entry->value, mycss_property_parser_background_image_end);
dec_entry->value = image;
return mycss_property_parser_destroy_string(&str, true);
}
entry->parser = mycss_property_parser_background_image_end;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_by_value_type(entry, token, &value_type, MyCSS_PROPERTY_BACKGROUND_IMAGE_NONE, &str))
{
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_image_list_t));
mycss_values_image_t *image = mycss_values_image_list_add_entry(entry, dec_entry->value);
image->type = MyCSS_PROPERTY_VALUE_NONE;
if(dec_entry->value_type == MyCSS_PROPERTY_VALUE_UNDEF)
dec_entry->value_type = MyCSS_PROPERTY_VALUE__IMAGE_LIST;
entry->parser = mycss_property_parser_background_image_end;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_default(entry, token, &dec_entry->value_type, &str)) {
if(dec_entry->value == NULL)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry));
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/*
* Background Origin
*/
static bool mycss_property_parser_background_origin_end(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
if(mycss_property_shared_check_declaration_end(entry, token)) {
return true;
}
if(token->type == MyCSS_TOKEN_TYPE_COMMA) {
entry->parser = mycss_property_parser_background_origin;
return true;
}
return mycss_property_shared_switch_to_parse_error(entry);
}
bool mycss_property_parser_background_origin(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
unsigned int value_type = 0;
if(mycss_property_shared_background_clip(entry, token, &value_type, &str))
{
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_type_list_t));
unsigned int *type = mycss_values_type_list_add_entry(entry, dec_entry->value);
*type = value_type;
entry->parser = mycss_property_parser_background_origin_end;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_default(entry, token, &dec_entry->value_type, &str)) {
if(dec_entry->value == NULL)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry));
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/*
* Background Position
*/
bool mycss_property_parser_background_position(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
void* value = NULL;
unsigned int value_type = 0;
if(mycss_property_shared_background_position(entry, token, &value, &value_type, &str))
{
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_background_position_t));
mycss_values_background_position_t *position = (mycss_values_background_position_t*)dec_entry->value;
mycss_values_type_length_percentage_entry_t *pos_entry;
if(position->one.type == 0)
pos_entry = &position->one;
else if(position->two.type == 0)
pos_entry = &position->two;
else if(position->three.type == 0)
pos_entry = &position->three;
else if(position->four.type == 0)
pos_entry = &position->four;
else
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
pos_entry->type = value_type;
if(value_type == MyCSS_PROPERTY_VALUE__LENGTH)
pos_entry->length = value;
else if(value_type == MyCSS_PROPERTY_VALUE__PERCENTAGE)
pos_entry->percentage = value;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_default(entry, token, &dec_entry->value_type, &str)) {
if(dec_entry->value == NULL)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry));
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
if(mycss_property_parser_background_position_check(dec_entry->value)) {
mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry));
return false;
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/*
* Background Repeat
*/
static bool mycss_property_parser_background_repeat_end(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
if(mycss_property_shared_check_declaration_end(entry, token)) {
return true;
}
if(token->type == MyCSS_TOKEN_TYPE_COMMA) {
entry->parser = mycss_property_parser_background_repeat;
return true;
}
return mycss_property_shared_switch_to_parse_error(entry);
}
static bool mycss_property_parser_background_repeat_wait_two(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
if(mycss_property_shared_check_declaration_end(entry, token)) {
return true;
}
if(token->type == MyCSS_TOKEN_TYPE_COMMA) {
entry->parser = mycss_property_parser_background_repeat;
return true;
}
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
unsigned int value_type = 0;
if(mycss_property_shared_background_repeat_two(entry, token, &value_type, &str))
{
mycss_values_background_repeat_list_t *list = dec_entry->value;
mycss_values_background_repeat_t *repeat = &list->entries[ (list->entries_length - 1) ];
repeat->vertical = value_type;
entry->parser = mycss_property_parser_background_repeat_end;
return mycss_property_parser_destroy_string(&str, true);
}
return mycss_property_shared_switch_to_parse_error(entry);
}
static void mycss_property_parser_background_repeat_create_entry(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, unsigned int value_type)
{
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_background_repeat_list_t));
mycss_values_background_repeat_t *repeat = mycss_values_background_repeat_list_add_entry(entry, dec_entry->value);
repeat->horizontal = value_type;
}
bool mycss_property_parser_background_repeat(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
unsigned int value_type = 0;
if(mycss_property_shared_background_repeat_one(entry, token, &value_type, &str))
{
mycss_property_parser_background_repeat_create_entry(entry, dec_entry, value_type);
entry->parser = mycss_property_parser_background_repeat_end;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_background_repeat_two(entry, token, &value_type, &str))
{
mycss_property_parser_background_repeat_create_entry(entry, dec_entry, value_type);
entry->parser = mycss_property_parser_background_repeat_wait_two;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_default(entry, token, &dec_entry->value_type, &str)) {
if(dec_entry->value == NULL)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry));
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/*
* Background Size
*/
bool mycss_property_parser_background_size(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
return mycss_property_shared_switch_to_parse_error(entry);
}
/* not yet */
bool mycss_property_parser_align_content(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{

View File

@ -232,3 +232,939 @@ bool mycss_property_parser_background_position_check(mycss_values_background_pos
}
/*
Background
*/
bool mycss_property_parser_background_end(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
return mycss_property_shared_switch_to_parse_error(entry);
}
static bool mycss_property_parser_background_step_end(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
if(mycss_property_shared_check_declaration_end(entry, token)) {
return true;
}
entry->parser = mycss_property_parser_background;
if(token->type == MyCSS_TOKEN_TYPE_COMMA) {
mycss_values_background_t *background = mycss_values_background_list_current_entry(entry->declaration->entry_last->value);
if(background->color)
return mycss_property_shared_switch_to_parse_error(entry);
mycss_values_background_list_add_entry(entry, entry->declaration->entry_last->value);
return true;
}
return false;
}
static bool mycss_property_parser_background_check_position(mycss_entry_t* entry, mycss_values_background_t *background, void* value, unsigned int value_type)
{
if(background->position == NULL)
background->position = mycss_declaration_entry_create(entry->declaration, NULL);
if(background->position->value == NULL)
background->position->value = mycss_values_create(entry, sizeof(mycss_values_background_position_t));
mycss_values_background_position_t *position = (mycss_values_background_position_t*)background->position->value;
mycss_values_type_length_percentage_entry_t *pos_entry;
if(position->one.type == 0)
pos_entry = &position->one;
else if(position->two.type == 0)
pos_entry = &position->two;
else if(position->three.type == 0)
pos_entry = &position->three;
else if(position->four.type == 0)
pos_entry = &position->four;
else
return false;
pos_entry->type = value_type;
if(value_type == MyCSS_PROPERTY_VALUE__LENGTH)
pos_entry->length = value;
else if(value_type == MyCSS_PROPERTY_VALUE__PERCENTAGE)
pos_entry->percentage = value;
return true;
}
static bool mycss_property_parser_background_step_size_height(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
mycss_values_background_t *background = mycss_values_background_list_current_entry(dec_entry->value);
void *value = NULL;
unsigned int value_type = 0;
if(mycss_property_shared_background_size(entry, token, &value, &value_type, &str))
{
mycss_values_background_size_list_t *list = background->size->value;
mycss_values_background_size_entry_t *bg_entry = &list->entries[ (list->entries_length - 1) ];
if(value) {
bg_entry->height = mycss_values_create(entry, sizeof(mycss_values_type_length_percentage_entry_t));
bg_entry->height->percentage = value;
bg_entry->height->type = value_type;
}
else if(value_type == MyCSS_PROPERTY_BACKGROUND_SIZE_AUTO)
{
bg_entry->height = mycss_values_create(entry, sizeof(mycss_values_type_length_percentage_entry_t));
bg_entry->height->type = MyCSS_PROPERTY_BACKGROUND_SIZE_AUTO;
}
else
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
entry->parser = mycss_property_parser_background_step_end;
return mycss_property_parser_destroy_string(&str, true);
}
entry->parser = mycss_property_parser_background_step_end;
return false;
}
bool mycss_property_parser_background_step_size(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
mycss_values_background_t *background = mycss_values_background_list_current_entry(dec_entry->value);
void *value = NULL;
unsigned int value_type = 0;
if(mycss_property_shared_background_size(entry, token, &value, &value_type, &str))
{
background->size = mycss_declaration_entry_create(entry->declaration, NULL);
if(background->size->value == NULL)
background->size->value = mycss_values_create(entry, sizeof(mycss_values_background_size_list_t));
mycss_values_background_size_entry_t *bg_entry = mycss_values_background_size_list_add_entry(entry, background->size->value);
if(value) {
bg_entry->width = mycss_values_create(entry, sizeof(mycss_values_type_length_percentage_entry_t));
bg_entry->width->percentage = value;
bg_entry->width->type = value_type;
entry->parser = mycss_property_parser_background_step_size_height;
}
else if(value_type == MyCSS_PROPERTY_BACKGROUND_SIZE_AUTO)
{
bg_entry->width = mycss_values_create(entry, sizeof(mycss_values_type_length_percentage_entry_t));
bg_entry->width->type = MyCSS_PROPERTY_BACKGROUND_SIZE_AUTO;
entry->parser = mycss_property_parser_background_step_size_height;
}
else {
bg_entry->scale = value_type;
entry->parser = mycss_property_parser_background_step_end;
}
return mycss_property_parser_destroy_string(&str, true);
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
static bool mycss_property_parser_background_step_position(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
if(token->type == MyCSS_TOKEN_TYPE_DELIM && *token->data == '/') {
entry->parser = mycss_property_parser_background_step_size;
return true;
}
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
void* value = NULL;
unsigned int value_type = 0;
if(mycss_property_shared_background_position(entry, token, &value, &value_type, &str))
{
mycss_values_background_t *background = mycss_values_background_list_current_entry(dec_entry->value);
if(mycss_property_parser_background_check_position(entry, background, value, value_type))
return mycss_property_parser_destroy_string(&str, true);
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
entry->parser = mycss_property_parser_background_step_end;
return mycss_property_parser_destroy_string(&str, false);
}
static bool mycss_property_parser_background_step_repeat_wait_two(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
mycss_values_background_t *background = mycss_values_background_list_current_entry(dec_entry->value);
unsigned int value_type = 0;
if(mycss_property_shared_background_repeat_two(entry, token, &value_type, &str))
{
mycss_values_background_repeat_list_t *list = background->repeat->value;
mycss_values_background_repeat_t *repeat = &list->entries[ (list->entries_length - 1) ];
repeat->vertical = value_type;
entry->parser = mycss_property_parser_background_step_end;
return mycss_property_parser_destroy_string(&str, true);
}
entry->parser = mycss_property_parser_background_step_end;
return mycss_property_parser_destroy_string(&str, false);
}
mycss_values_background_t * mycss_property_parser_background_check_entry(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry)
{
mycss_values_background_t *background = mycss_values_background_list_current_entry(dec_entry->value);
if(background == NULL)
return mycss_values_background_list_add_entry(entry, dec_entry->value);
return background;
}
bool mycss_property_parser_background(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_values_image_t stat_image;
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
void *value = &stat_image;
unsigned int value_type = 0;
bool parser_changed = false;
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_background_list_t));
/* Image */
if(mycss_property_shared_image(entry, token, &value, &value_type, &str, &parser_changed))
{
mycss_values_background_t *background = mycss_property_parser_background_check_entry(entry, dec_entry);
if(background->image)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
background->image = mycss_declaration_entry_create(entry->declaration, NULL);
if(background->image->value == NULL)
background->image->value = mycss_values_create(entry, sizeof(mycss_values_image_list_t));
mycss_values_image_t *image = mycss_values_image_list_add_entry(entry, background->image->value);
*image = stat_image;
if(background->image->value_type == MyCSS_PROPERTY_VALUE_UNDEF)
background->image->value_type = MyCSS_PROPERTY_VALUE__IMAGE_LIST;
background->image->type = MyCSS_PROPERTY_TYPE_BACKGROUND_IMAGE;
if(parser_changed) {
mycss_stack_push(entry->declaration->stack, dec_entry->value, mycss_property_parser_background_step_end);
dec_entry->value = image;
return mycss_property_parser_destroy_string(&str, true);
}
entry->parser = mycss_property_parser_background_step_end;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_by_value_type(entry, token, &value_type, MyCSS_PROPERTY_BACKGROUND_IMAGE_NONE, &str))
{
mycss_values_background_t *background = mycss_property_parser_background_check_entry(entry, dec_entry);
if(background->image)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
background->image = mycss_declaration_entry_create(entry->declaration, NULL);
if(background->image->value == NULL)
background->image->value = mycss_values_create(entry, sizeof(mycss_values_image_list_t));
background->repeat->type = MyCSS_PROPERTY_TYPE_BACKGROUND_IMAGE;
mycss_values_image_t *image = mycss_values_image_list_add_entry(entry, background->image->value);
image->type = MyCSS_PROPERTY_VALUE_NONE;
if(background->image->value_type == MyCSS_PROPERTY_VALUE_UNDEF)
background->image->value_type = MyCSS_PROPERTY_VALUE__IMAGE_LIST;
entry->parser = mycss_property_parser_background_step_end;
return mycss_property_parser_destroy_string(&str, true);
}
/* Position */
if(mycss_property_shared_background_position(entry, token, &value, &value_type, &str))
{
mycss_values_background_t *background = mycss_property_parser_background_check_entry(entry, dec_entry);
if(background->position)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
background->position = mycss_declaration_entry_create(entry->declaration, NULL);
background->position->type = MyCSS_PROPERTY_TYPE_BACKGROUND_POSITION;
if(mycss_property_parser_background_check_position(entry, background, value, value_type)) {
entry->parser = mycss_property_parser_background_step_position;
return mycss_property_parser_destroy_string(&str, true);
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/* Repeat */
if(mycss_property_shared_background_repeat_one(entry, token, &value_type, &str))
{
mycss_values_background_t *background = mycss_property_parser_background_check_entry(entry, dec_entry);
if(background->repeat)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
background->repeat = mycss_declaration_entry_create(entry->declaration, NULL);
if(background->repeat->value == NULL)
background->repeat->value = mycss_values_create(entry, sizeof(mycss_values_background_repeat_list_t));
background->repeat->type = MyCSS_PROPERTY_TYPE_BACKGROUND_REPEAT;
mycss_values_background_repeat_t *repeat = mycss_values_background_repeat_list_add_entry(entry, background->repeat->value);
repeat->horizontal = value_type;
entry->parser = mycss_property_parser_background_step_end;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_background_repeat_two(entry, token, &value_type, &str))
{
mycss_values_background_t *background = mycss_property_parser_background_check_entry(entry, dec_entry);
if(background->repeat)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
background->repeat = mycss_declaration_entry_create(entry->declaration, NULL);
if(background->repeat->value == NULL)
background->repeat->value = mycss_values_create(entry, sizeof(mycss_values_background_repeat_list_t));
background->repeat->type = MyCSS_PROPERTY_TYPE_BACKGROUND_REPEAT;
mycss_values_background_repeat_t *repeat = mycss_values_background_repeat_list_add_entry(entry, background->repeat->value);
repeat->horizontal = value_type;
entry->parser = mycss_property_parser_background_step_repeat_wait_two;
return mycss_property_parser_destroy_string(&str, true);
}
/* Color */
if(mycss_property_shared_color(entry, token, &value, &value_type, &str, &parser_changed))
{
mycss_values_background_t *background = mycss_property_parser_background_check_entry(entry, dec_entry);
if(background->color)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
background->color = mycss_declaration_entry_create(entry->declaration, NULL);
background->color->type = MyCSS_PROPERTY_TYPE_BACKGROUND_COLOR;
background->color->value = value;
background->color->value_type = value_type;
if(parser_changed) {
mycss_stack_push(entry->declaration->stack, dec_entry->value, mycss_property_parser_background_step_end);
dec_entry->value = value;
mycss_stack_push(entry->declaration->stack, NULL, mycss_property_parser_color_after);
return mycss_property_parser_destroy_string(&str, true);
}
entry->parser = mycss_property_parser_background_step_end;
return mycss_property_parser_destroy_string(&str, true);
}
/* Attachment */
if(mycss_property_shared_background_attachment(entry, token, &value_type, &str))
{
mycss_values_background_t *background = mycss_property_parser_background_check_entry(entry, dec_entry);
if(background->attachment)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
background->attachment = mycss_declaration_entry_create(entry->declaration, NULL);
if(background->attachment->value == NULL)
background->attachment->value = mycss_values_create(entry, sizeof(mycss_values_type_list_t));
background->attachment->type = MyCSS_PROPERTY_TYPE_BACKGROUND_ATTACHMENT;
unsigned int *type = mycss_values_type_list_add_entry(entry, background->attachment->value);
*type = value_type;
entry->parser = mycss_property_parser_background_step_end;
return mycss_property_parser_destroy_string(&str, true);
}
/* Clip and Origin */
if(mycss_property_shared_background_clip(entry, token, &value_type, &str))
{
mycss_values_background_t *background = mycss_property_parser_background_check_entry(entry, dec_entry);
if(background->clip) {
if(background->origin)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
background->origin = mycss_declaration_entry_create(entry->declaration, NULL);
if(background->origin->value == NULL)
background->origin->value = mycss_values_create(entry, sizeof(mycss_values_type_list_t));
background->origin->type = MyCSS_PROPERTY_TYPE_BACKGROUND_ORIGIN;
unsigned int *type = mycss_values_type_list_add_entry(entry, background->origin->value);
*type = value_type;
}
else {
background->clip = mycss_declaration_entry_create(entry->declaration, NULL);
if(background->clip->value == NULL)
background->clip->value = mycss_values_create(entry, sizeof(mycss_values_type_list_t));
background->clip->type = MyCSS_PROPERTY_TYPE_BACKGROUND_CLIP;
unsigned int *type = mycss_values_type_list_add_entry(entry, background->clip->value);
*type = value_type;
}
entry->parser = mycss_property_parser_background_step_end;
return mycss_property_parser_destroy_string(&str, true);
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/*
* Background Attachment
*/
static bool mycss_property_parser_background_attachment_end(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
if(mycss_property_shared_check_declaration_end(entry, token)) {
return true;
}
if(token->type == MyCSS_TOKEN_TYPE_COMMA) {
entry->parser = mycss_property_parser_background_attachment;
return true;
}
return mycss_property_shared_switch_to_parse_error(entry);
}
bool mycss_property_parser_background_attachment(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
unsigned int value_type = 0;
if(mycss_property_shared_background_attachment(entry, token, &value_type, &str))
{
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_type_list_t));
unsigned int *type = mycss_values_type_list_add_entry(entry, dec_entry->value);
*type = value_type;
entry->parser = mycss_property_parser_background_attachment_end;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_default(entry, token, &dec_entry->value_type, &str)) {
if(dec_entry->value == NULL)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry));
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/*
* Background Clip
*/
static bool mycss_property_parser_background_clip_end(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
if(mycss_property_shared_check_declaration_end(entry, token)) {
return true;
}
if(token->type == MyCSS_TOKEN_TYPE_COMMA) {
entry->parser = mycss_property_parser_background_clip;
return true;
}
return mycss_property_shared_switch_to_parse_error(entry);
}
bool mycss_property_parser_background_clip(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
unsigned int value_type = 0;
if(mycss_property_shared_background_clip(entry, token, &value_type, &str))
{
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_type_list_t));
unsigned int *type = mycss_values_type_list_add_entry(entry, dec_entry->value);
*type = value_type;
entry->parser = mycss_property_parser_background_clip_end;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_default(entry, token, &dec_entry->value_type, &str)) {
if(dec_entry->value == NULL)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry));
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/*
* Background Image
*/
bool mycss_property_parser_background_image_end(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
if(mycss_property_shared_check_declaration_end(entry, token)) {
return true;
}
if(token->type == MyCSS_TOKEN_TYPE_COMMA) {
entry->parser = mycss_property_parser_background_image;
return true;
}
return mycss_property_shared_switch_to_parse_error(entry);
}
bool mycss_property_parser_background_image(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_values_image_t stat_image;
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
void *value = &stat_image;
unsigned int value_type = 0;
bool parser_changed = false;
if(mycss_property_shared_image(entry, token, &value, &value_type, &str, &parser_changed))
{
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_image_list_t));
mycss_values_image_t *image = mycss_values_image_list_add_entry(entry, dec_entry->value);
*image = stat_image;
if(dec_entry->value_type == MyCSS_PROPERTY_VALUE_UNDEF)
dec_entry->value_type = MyCSS_PROPERTY_VALUE__IMAGE_LIST;
if(parser_changed) {
mycss_stack_push(entry->declaration->stack, dec_entry->value, mycss_property_parser_background_image_end);
dec_entry->value = image;
return mycss_property_parser_destroy_string(&str, true);
}
entry->parser = mycss_property_parser_background_image_end;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_by_value_type(entry, token, &value_type, MyCSS_PROPERTY_BACKGROUND_IMAGE_NONE, &str))
{
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_image_list_t));
mycss_values_image_t *image = mycss_values_image_list_add_entry(entry, dec_entry->value);
image->type = MyCSS_PROPERTY_VALUE_NONE;
if(dec_entry->value_type == MyCSS_PROPERTY_VALUE_UNDEF)
dec_entry->value_type = MyCSS_PROPERTY_VALUE__IMAGE_LIST;
entry->parser = mycss_property_parser_background_image_end;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_default(entry, token, &dec_entry->value_type, &str)) {
if(dec_entry->value == NULL)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry));
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/*
* Background Origin
*/
static bool mycss_property_parser_background_origin_end(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
if(mycss_property_shared_check_declaration_end(entry, token)) {
return true;
}
if(token->type == MyCSS_TOKEN_TYPE_COMMA) {
entry->parser = mycss_property_parser_background_origin;
return true;
}
return mycss_property_shared_switch_to_parse_error(entry);
}
bool mycss_property_parser_background_origin(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
unsigned int value_type = 0;
if(mycss_property_shared_background_clip(entry, token, &value_type, &str))
{
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_type_list_t));
unsigned int *type = mycss_values_type_list_add_entry(entry, dec_entry->value);
*type = value_type;
entry->parser = mycss_property_parser_background_origin_end;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_default(entry, token, &dec_entry->value_type, &str)) {
if(dec_entry->value == NULL)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry));
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/*
* Background Position
*/
bool mycss_property_parser_background_position(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
void* value = NULL;
unsigned int value_type = 0;
if(mycss_property_shared_background_position(entry, token, &value, &value_type, &str))
{
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_background_position_t));
mycss_values_background_position_t *position = (mycss_values_background_position_t*)dec_entry->value;
mycss_values_type_length_percentage_entry_t *pos_entry;
if(position->one.type == 0)
pos_entry = &position->one;
else if(position->two.type == 0)
pos_entry = &position->two;
else if(position->three.type == 0)
pos_entry = &position->three;
else if(position->four.type == 0)
pos_entry = &position->four;
else
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
pos_entry->type = value_type;
if(value_type == MyCSS_PROPERTY_VALUE__LENGTH)
pos_entry->length = value;
else if(value_type == MyCSS_PROPERTY_VALUE__PERCENTAGE)
pos_entry->percentage = value;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_default(entry, token, &dec_entry->value_type, &str)) {
if(dec_entry->value == NULL)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry));
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
if(mycss_property_parser_background_position_check(dec_entry->value)) {
mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry));
return false;
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/*
* Background Repeat
*/
static bool mycss_property_parser_background_repeat_end(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
if(mycss_property_shared_check_declaration_end(entry, token)) {
return true;
}
if(token->type == MyCSS_TOKEN_TYPE_COMMA) {
entry->parser = mycss_property_parser_background_repeat;
return true;
}
return mycss_property_shared_switch_to_parse_error(entry);
}
static bool mycss_property_parser_background_repeat_wait_two(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
if(mycss_property_shared_check_declaration_end(entry, token)) {
return true;
}
if(token->type == MyCSS_TOKEN_TYPE_COMMA) {
entry->parser = mycss_property_parser_background_repeat;
return true;
}
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
unsigned int value_type = 0;
if(mycss_property_shared_background_repeat_two(entry, token, &value_type, &str))
{
mycss_values_background_repeat_list_t *list = dec_entry->value;
mycss_values_background_repeat_t *repeat = &list->entries[ (list->entries_length - 1) ];
repeat->vertical = value_type;
entry->parser = mycss_property_parser_background_repeat_end;
return mycss_property_parser_destroy_string(&str, true);
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
static void mycss_property_parser_background_repeat_create_entry(mycss_entry_t* entry, mycss_declaration_entry_t* dec_entry, unsigned int value_type)
{
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_background_repeat_list_t));
mycss_values_background_repeat_t *repeat = mycss_values_background_repeat_list_add_entry(entry, dec_entry->value);
repeat->horizontal = value_type;
}
bool mycss_property_parser_background_repeat(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
unsigned int value_type = 0;
if(mycss_property_shared_background_repeat_one(entry, token, &value_type, &str))
{
mycss_property_parser_background_repeat_create_entry(entry, dec_entry, value_type);
entry->parser = mycss_property_parser_background_repeat_end;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_background_repeat_two(entry, token, &value_type, &str))
{
mycss_property_parser_background_repeat_create_entry(entry, dec_entry, value_type);
entry->parser = mycss_property_parser_background_repeat_wait_two;
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_default(entry, token, &dec_entry->value_type, &str)) {
if(dec_entry->value == NULL)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry));
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/*
* Background Size
*/
static bool mycss_property_parser_background_size_end(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
if(mycss_property_shared_check_declaration_end(entry, token)) {
return true;
}
if(token->type == MyCSS_TOKEN_TYPE_COMMA) {
entry->parser = mycss_property_parser_background_size;
return true;
}
return mycss_property_shared_switch_to_parse_error(entry);
}
static bool mycss_property_parser_background_size_height(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
void *value = NULL;
unsigned int value_type = 0;
if(mycss_property_shared_background_size(entry, token, &value, &value_type, &str))
{
mycss_values_background_size_list_t *list = dec_entry->value;
mycss_values_background_size_entry_t *bg_entry = &list->entries[ (list->entries_length - 1) ];
if(value) {
bg_entry->height = mycss_values_create(entry, sizeof(mycss_values_type_length_percentage_entry_t));
bg_entry->height->percentage = value;
bg_entry->height->type = value_type;
entry->parser = mycss_property_parser_background_size_end;
}
else if(value_type == MyCSS_PROPERTY_BACKGROUND_SIZE_AUTO)
{
bg_entry->height = mycss_values_create(entry, sizeof(mycss_values_type_length_percentage_entry_t));
bg_entry->height->type = MyCSS_PROPERTY_BACKGROUND_SIZE_AUTO;
entry->parser = mycss_property_parser_background_size_end;
}
else
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
return mycss_property_parser_destroy_string(&str, true);
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
bool mycss_property_parser_background_size(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
return true;
myhtml_string_t str = {0};
mycss_declaration_entry_t* dec_entry = entry->declaration->entry_last;
void *value = NULL;
unsigned int value_type = 0;
if(mycss_property_shared_background_size(entry, token, &value, &value_type, &str))
{
if(dec_entry->value == NULL)
dec_entry->value = mycss_values_create(entry, sizeof(mycss_values_background_size_list_t));
mycss_values_background_size_entry_t *bg_entry = mycss_values_background_size_list_add_entry(entry, dec_entry->value);
if(value) {
bg_entry->width = mycss_values_create(entry, sizeof(mycss_values_type_length_percentage_entry_t));
bg_entry->width->percentage = value;
bg_entry->width->type = value_type;
entry->parser = mycss_property_parser_background_size_height;
}
else if(value_type == MyCSS_PROPERTY_BACKGROUND_SIZE_AUTO)
{
bg_entry->width = mycss_values_create(entry, sizeof(mycss_values_type_length_percentage_entry_t));
bg_entry->width->type = MyCSS_PROPERTY_BACKGROUND_SIZE_AUTO;
entry->parser = mycss_property_parser_background_size_height;
}
else {
bg_entry->scale = value_type;
entry->parser = mycss_property_parser_background_size_end;
}
return mycss_property_parser_destroy_string(&str, true);
}
if(mycss_property_shared_default(entry, token, &dec_entry->value_type, &str)) {
if(dec_entry->value == NULL)
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry));
}
return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_parse_error(entry));
}
/* Color */
bool mycss_property_parser_background_color(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
{
return mycss_property_parser_color(entry, token, last_response);
}

View File

@ -1069,7 +1069,32 @@ bool mycss_property_shared_background_clip(mycss_entry_t* entry, mycss_token_t*
return false;
}
bool mycss_property_shared_background_size(mycss_entry_t* entry, mycss_token_t* token, void* value, unsigned int* value_type, myhtml_string_t* str)
{
if(mycss_property_shared_length_percentage(entry, token, value, value_type, str))
return true;
if(token->type != MyCSS_TOKEN_TYPE_IDENT)
return false;
if(str->data == NULL)
mycss_token_data_to_string(entry, token, str, true, false);
*value_type = mycss_property_value_type_by_name(str->data, str->length);
switch (*value_type) {
case MyCSS_PROPERTY_BACKGROUND_SIZE_AUTO:
case MyCSS_PROPERTY_BACKGROUND_SIZE_COVER:
case MyCSS_PROPERTY_BACKGROUND_SIZE_CONTAIN:
return true;
default:
*value_type = MyCSS_PROPERTY_VALUE_UNDEF;
break;
}
return false;
}

View File

@ -70,6 +70,7 @@ bool mycss_property_shared_background_repeat_two(mycss_entry_t* entry, mycss_tok
bool mycss_property_shared_background_attachment(mycss_entry_t* entry, mycss_token_t* token, unsigned int* value_type, myhtml_string_t* str);
bool mycss_property_shared_background_position(mycss_entry_t* entry, mycss_token_t* token, void* value, unsigned int* value_type, myhtml_string_t* str);
bool mycss_property_shared_background_clip(mycss_entry_t* entry, mycss_token_t* token, unsigned int* value_type, myhtml_string_t* str);
bool mycss_property_shared_background_size(mycss_entry_t* entry, mycss_token_t* token, void* value, unsigned int* value_type, myhtml_string_t* str);
void mycss_property_shared_destroy_string(myhtml_string_t* str);

View File

@ -567,4 +567,61 @@ mycss_values_background_position_t * mycss_values_destroy_background_position(my
return value;
}
mycss_values_background_size_list_t * mycss_values_destroy_background_size(mycss_entry_t* entry, mycss_values_background_size_list_t* value, bool self_destroy)
{
if(value == NULL)
return NULL;
for(size_t i = 0; i < value->entries_length; i++) {
if(value->entries[i].width) {
if(value->entries[i].width->percentage)
mycss_values_destroy(entry, (void*)value->entries[i].width->percentage);
mycss_values_destroy(entry, (void*)value->entries[i].width);
}
if(value->entries[i].height) {
if(value->entries[i].height->percentage)
mycss_values_destroy(entry, (void*)value->entries[i].height->percentage);
mycss_values_destroy(entry, (void*)value->entries[i].height);
}
}
mycss_values_destroy(entry, (void*)value->entries);
if(self_destroy) {
mycss_values_destroy(entry, (void*)value);
return NULL;
}
return value;
}
mycss_values_background_list_t * mycss_values_destroy_background(mycss_entry_t* entry, mycss_values_background_list_t* value, bool self_destroy)
{
if(value == NULL)
return NULL;
for(size_t i = 0; i < value->entries_length; i++) {
mycss_values_destroy_color(entry, value->entries[i].color->value, true);
mycss_values_destroy_image(entry, value->entries[i].image->value, true);
mycss_values_destroy_background_position(entry, value->entries[i].position->value, true);
mycss_values_destroy_background_size(entry, value->entries[i].size->value, true);
mycss_values_destroy_background_repeat(entry, value->entries[i].repeat->value, true);
mycss_values_destroy_type_list(entry, value->entries[i].attachment->value, true);
mycss_values_destroy_type_list(entry, value->entries[i].clip->value, true);
mycss_values_destroy_type_list(entry, value->entries[i].origin->value, true);
}
mycss_values_destroy(entry, (void*)value->entries);
if(self_destroy) {
mycss_values_destroy(entry, (void*)value);
return NULL;
}
return value;
}

View File

@ -66,8 +66,10 @@ mycss_values_cross_fade_t * mycss_values_destroy_cross_fade(mycss_entry_t* entry
mycss_values_image_list_t * mycss_values_destroy_image_list(mycss_entry_t* entry, mycss_values_image_list_t* value, bool self_destroy);
/* Background */
mycss_values_background_list_t * mycss_values_destroy_background(mycss_entry_t* entry, mycss_values_background_list_t* value, bool self_destroy);
mycss_values_background_repeat_list_t * mycss_values_destroy_background_repeat(mycss_entry_t* entry, mycss_values_background_repeat_list_t* value, bool self_destroy);
mycss_values_background_position_t * mycss_values_destroy_background_position(mycss_entry_t* entry, mycss_values_background_position_t* value, bool self_destroy);
mycss_values_background_size_list_t * mycss_values_destroy_background_size(mycss_entry_t* entry, mycss_values_background_size_list_t* value, bool self_destroy);
#ifdef __cplusplus
} /* extern "C" */

View File

@ -134,6 +134,26 @@ void mycss_values_serialization_percentage(mycss_values_percentage_t* value, myc
}
}
void mycss_values_serialization_type_length_percentage(mycss_values_type_length_percentage_entry_t* value, mycss_callback_serialization_f callback, void* context)
{
switch (value->type) {
case MyCSS_PROPERTY_VALUE__LENGTH:
mycss_values_serialization_length(value->length, callback, context);
break;
case MyCSS_PROPERTY_VALUE__PERCENTAGE:
mycss_values_serialization_percentage(value->percentage, callback, context);
break;
default: {
const char* text_value = mycss_property_index_type_value[value->type];
callback(text_value, strlen(text_value), context);
break;
}
}
}
static void mycss_values_serialization_color_hex_one_value(int value, unsigned char* data)
{
data[0] = myhtml_string_hex_to_char_map[ (unsigned int)(value >> 4) ];
@ -532,4 +552,23 @@ void mycss_values_serialization_image(mycss_values_image_t* image, mycss_callbac
}
}
void mycss_values_serialization_background_size_entry(mycss_values_background_size_entry_t* bg_size_entry, mycss_callback_serialization_f callback, void* context)
{
if(bg_size_entry->scale) {
const char* text_value = mycss_property_index_type_value[bg_size_entry->scale];
callback(text_value, strlen(text_value), context);
}
else {
if(bg_size_entry->width) {
mycss_values_serialization_type_length_percentage(bg_size_entry->width, callback, context);
}
if(bg_size_entry->height) {
callback(" ", 1, context);
mycss_values_serialization_type_length_percentage(bg_size_entry->height, callback, context);
}
}
}

View File

@ -36,12 +36,14 @@ void mycss_values_serialization_length(mycss_values_length_t* value, mycss_callb
void mycss_values_serialization_angle(mycss_values_angle_t* value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_resolution(mycss_values_resolution_t* value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_percentage(mycss_values_percentage_t* value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_type_length_percentage(mycss_values_type_length_percentage_entry_t* value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_color(mycss_values_color_t* value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_color_alpha(mycss_values_color_alpha_value_t* value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_text_decoration_line(mycss_values_text_decoration_line_t value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_text_decoration_skip(mycss_values_text_decoration_skip_t value, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_url(mycss_values_url_t* url, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_image(mycss_values_image_t* image, mycss_callback_serialization_f callback, void* context);
void mycss_values_serialization_background_size_entry(mycss_values_background_size_entry_t* bg_size_entry, mycss_callback_serialization_f callback, void* context);
#ifdef __cplusplus
} /* extern "C" */

View File

@ -120,4 +120,48 @@ mycss_values_background_repeat_t * mycss_values_background_repeat_list_add_entry
return repeat;
}
mycss_values_background_size_entry_t * mycss_values_background_size_list_add_entry(mycss_entry_t* entry, mycss_values_background_size_list_t *list)
{
if(list->entries == NULL) {
list->entries = mycss_values_create(entry, sizeof(mycss_values_background_size_entry_t));
list->entries_length = 0;
}
else {
list->entries = mycss_values_realloc(entry, list->entries,
list->entries_length * sizeof(mycss_values_background_size_entry_t),
sizeof(mycss_values_background_size_entry_t));
}
mycss_values_background_size_entry_t *size_entry = &list->entries[ list->entries_length ];
list->entries_length++;
return size_entry;
}
mycss_values_background_t * mycss_values_background_list_add_entry(mycss_entry_t* entry, mycss_values_background_list_t *list)
{
if(list->entries == NULL) {
list->entries = mycss_values_create(entry, sizeof(mycss_values_background_t));
list->entries_length = 0;
}
else {
list->entries = mycss_values_realloc(entry, list->entries,
list->entries_length * sizeof(mycss_values_background_t),
sizeof(mycss_values_background_t));
}
mycss_values_background_t *bg = &list->entries[ list->entries_length ];
list->entries_length++;
return bg;
}
mycss_values_background_t * mycss_values_background_list_current_entry(mycss_values_background_list_t *list)
{
if(list->entries_length == 0)
return NULL;
return &list->entries[ (list->entries_length - 1) ];
}

View File

@ -64,6 +64,10 @@ typedef struct mycss_values_color mycss_values_color_t;
typedef struct mycss_values_background_repeat_list mycss_values_background_repeat_list_t;
typedef struct mycss_values_background_repeat mycss_values_background_repeat_t;
typedef struct mycss_values_background_position mycss_values_background_position_t;
typedef struct mycss_values_background_size_list mycss_values_background_size_list_t;
typedef struct mycss_values_background_size_entry mycss_values_background_size_entry_t;
typedef struct mycss_values_background mycss_values_background_t;
typedef struct mycss_values_background_list mycss_values_background_list_t;
typedef struct mycss_values_color_stop mycss_values_color_stop_t;
typedef struct mycss_values_color_stop_list mycss_values_color_stop_list_t;
@ -72,7 +76,6 @@ typedef struct mycss_values_font_family_entry mycss_values_font_family_entry_t;
typedef struct mycss_values_font_family mycss_values_font_family_t;
typedef struct mycss_values_font mycss_values_font_t;
typedef struct mycss_values_void_list mycss_values_void_list_t;
typedef struct mycss_values_type_length_percentage_entry mycss_values_type_length_percentage_entry_t;
typedef struct mycss_values_type_list mycss_values_type_list_t;
typedef struct mycss_values_shorthand_two_type mycss_values_shorthand_two_type_t;
@ -119,11 +122,6 @@ struct mycss_values_type_length_percentage_entry {
unsigned int type;
};
struct mycss_values_void_list {
void* entries;
size_t entries_length;
};
struct mycss_values_number {
union {
int i;
@ -450,6 +448,22 @@ struct mycss_values_text_decoration {
/*
Background
*/
struct mycss_values_background {
mycss_declaration_entry_t* image;
mycss_declaration_entry_t* position;
mycss_declaration_entry_t* size;
mycss_declaration_entry_t* repeat;
mycss_declaration_entry_t* attachment;
mycss_declaration_entry_t* origin;
mycss_declaration_entry_t* clip;
mycss_declaration_entry_t* color;
};
struct mycss_values_background_list {
mycss_values_background_t* entries;
size_t entries_length;
};
struct mycss_values_background_repeat {
mycss_property_background_t horizontal;
mycss_property_background_t vertical;
@ -467,6 +481,17 @@ struct mycss_values_background_position {
mycss_values_type_length_percentage_entry_t four;
};
struct mycss_values_background_size_entry {
unsigned int scale;
mycss_values_type_length_percentage_entry_t* width;
mycss_values_type_length_percentage_entry_t* height;
};
struct mycss_values_background_size_list {
mycss_values_background_size_entry_t* entries;
size_t entries_length;
};
void * mycss_values_create(mycss_entry_t* entry, size_t size);
void * mycss_values_destroy(mycss_entry_t* entry, void* value);
void * mycss_values_realloc(mycss_entry_t* entry, void* value, size_t old_size, size_t up_to);
@ -478,6 +503,10 @@ void mycss_values_entry_set(mycss_entry_t* entry, void** value);
unsigned int * mycss_values_type_list_add_entry(mycss_entry_t* entry, mycss_values_type_list_t *list);
mycss_values_image_t * mycss_values_image_list_add_entry(mycss_entry_t* entry, mycss_values_image_list_t *bg_image);
mycss_values_background_repeat_t * mycss_values_background_repeat_list_add_entry(mycss_entry_t* entry, mycss_values_background_repeat_list_t *list);
mycss_values_background_size_entry_t * mycss_values_background_size_list_add_entry(mycss_entry_t* entry, mycss_values_background_size_list_t *list);
mycss_values_background_t * mycss_values_background_list_add_entry(mycss_entry_t* entry, mycss_values_background_list_t *list);
mycss_values_background_t * mycss_values_background_list_current_entry(mycss_values_background_list_t *list);
#ifdef __cplusplus
} /* extern "C" */