Skip to content

Commit 5cd6581

Browse files
author
Aygul Salahli
committed
Added border spacing
1 parent c6b430f commit 5cd6581

16 files changed

+61
-9
lines changed

include/mycss/declaration/default_entries.h

+12
Original file line numberDiff line numberDiff line change
@@ -801,4 +801,16 @@ static mycss_declaration_entry_t mycss_declaration_default_entry_vertical_align
801801
NULL, NULL
802802
};
803803

804+
static mycss_declaration_entry_t mycss_declaration_default_entry_border_spacing = {
805+
MyCSS_PROPERTY_TYPE_BORDER_SPACING,
806+
MyCSS_PROPERTY_VALUE_UNDEF,
807+
&(mycss_values_shorthand_two_type_t){
808+
&(mycss_values_length_t){{0}, false, MyCSS_UNIT_TYPE_UNDEF},
809+
&(mycss_values_length_t){{0}, false, MyCSS_UNIT_TYPE_UNDEF},
810+
},
811+
false,
812+
MyCSS_DECLARATION_FLAGS_READ_ONLY,
813+
NULL, NULL
814+
};
815+
804816
#endif /* MyCSS_DECLARATION_DEFAULT_ENTRIES_H */

include/mycss/declaration/default_resources.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ static mycss_declaration_entry_t * mycss_declaration_default_entry_index_type[My
9292
&mycss_declaration_default_entry_border_right_color,
9393
&mycss_declaration_default_entry_border_right_style,
9494
&mycss_declaration_default_entry_border_right_width,
95-
&mycss_declaration_default_entry_undef,
95+
&mycss_declaration_default_entry_border_spacing,
9696
&mycss_declaration_default_entry_undef,
9797
&mycss_declaration_default_entry_undef,
9898
&mycss_declaration_default_entry_border_top_color,

include/mycss/declaration/entry_destroy.h

+1
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_image(myc
4848
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_repeat(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
4949
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_position(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
5050
mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_size(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
51+
mycss_declaration_entry_t * mycss_declaration_entry_destroy_border_spacing(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
5152

5253
#ifdef __cplusplus
5354
} /* extern "C" */

include/mycss/declaration/entry_destroy_resources.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ static mycss_callback_declaration_destroy_f mycss_declaration_entry_destroy_map_
9090
mycss_declaration_entry_destroy_undef,
9191
mycss_declaration_entry_destroy_undef,
9292
mycss_declaration_entry_destroy_undef,
93-
mycss_declaration_entry_destroy_undef,
93+
mycss_declaration_entry_destroy_border_spacing,
9494
mycss_declaration_entry_destroy_border_style,
9595
mycss_declaration_entry_destroy_border_x,
9696
mycss_declaration_entry_destroy_undef,

include/mycss/declaration/serialization_resources.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ static mycss_declaration_serialization_f mycss_declaration_serialization_map_by_
9090
mycss_declaration_serialization_undef,
9191
mycss_declaration_serialization_undef,
9292
mycss_declaration_serialization_undef,
93-
mycss_declaration_serialization_undef,
93+
mycss_declaration_serialization_shorthand_two_type,
9494
mycss_declaration_serialization_shorthand_four,
9595
mycss_declaration_serialization_border_x,
9696
mycss_declaration_serialization_undef,

include/mycss/property/const.h

+6
Original file line numberDiff line numberDiff line change
@@ -1117,6 +1117,12 @@ enum mycss_property_border_top_right_radius {
11171117
}
11181118
typedef mycss_property_border_top_right_radius_t;
11191119

1120+
enum mycss_property_border_spacing {
1121+
MyCSS_PROPERTY_BORDER_SPACING_INHERIT = 0x0092,
1122+
MyCSS_PROPERTY_BORDER_SPACING__LENGTH = 0x019a,
1123+
}
1124+
typedef mycss_property_border_spacing_t;
1125+
11201126
enum mycss_property_border_top_style {
11211127
MyCSS_PROPERTY_BORDER_TOP_STYLE_NONE = 0x00d3,
11221128
MyCSS_PROPERTY_BORDER_TOP_STYLE_SOLID = 0x013d,

include/mycss/property/parser.h

+1
Original file line numberDiff line numberDiff line change
@@ -370,6 +370,7 @@ bool mycss_property_parser_wrap_flow(mycss_entry_t* entry, mycss_token_t* token,
370370
bool mycss_property_parser_wrap_through(mycss_entry_t* entry, mycss_token_t* token, bool last_response);
371371
bool mycss_property_parser_writing_mode(mycss_entry_t* entry, mycss_token_t* token, bool last_response);
372372
bool mycss_property_parser_z_index(mycss_entry_t* entry, mycss_token_t* token, bool last_response);
373+
bool mycss_property_parser_short_two_type(mycss_entry_t* entry, mycss_token_t* token);
373374

374375
#ifdef __cplusplus
375376
} /* extern "C" */

source/modest/style/map_resource.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ static const modest_style_map_collate_f modest_style_map_static_collate_declarat
9090
modest_style_map_collate_declaration_for_all,
9191
modest_style_map_collate_declaration_for_all,
9292
modest_style_map_collate_declaration_for_all,
93-
modest_style_map_collate_declaration_for_all,
93+
modest_style_map_collate_declaration_border_spacing,
9494
modest_style_map_collate_declaration_border_style,
9595
modest_style_map_collate_declaration_for_all,
9696
modest_style_map_collate_declaration_for_all,

source/mycss/declaration/default_entries.h

+13
Original file line numberDiff line numberDiff line change
@@ -801,4 +801,17 @@ static mycss_declaration_entry_t mycss_declaration_default_entry_vertical_align
801801
NULL, NULL
802802
};
803803

804+
805+
static mycss_declaration_entry_t mycss_declaration_default_entry_border_spacing = {
806+
MyCSS_PROPERTY_TYPE_BORDER_SPACING,
807+
MyCSS_PROPERTY_VALUE_UNDEF,
808+
&(mycss_values_shorthand_two_type_t){
809+
&(mycss_values_length_t){{0}, false, MyCSS_UNIT_TYPE_UNDEF},
810+
&(mycss_values_length_t){{0}, false, MyCSS_UNIT_TYPE_UNDEF},
811+
},
812+
false,
813+
MyCSS_DECLARATION_FLAGS_READ_ONLY,
814+
NULL, NULL
815+
};
816+
804817
#endif /* MyCSS_DECLARATION_DEFAULT_ENTRIES_H */

source/mycss/declaration/default_resources.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ static mycss_declaration_entry_t * mycss_declaration_default_entry_index_type[My
9292
&mycss_declaration_default_entry_border_right_color,
9393
&mycss_declaration_default_entry_border_right_style,
9494
&mycss_declaration_default_entry_border_right_width,
95-
&mycss_declaration_default_entry_undef,
95+
&mycss_declaration_default_entry_border_spacing,
9696
&mycss_declaration_default_entry_undef,
9797
&mycss_declaration_default_entry_undef,
9898
&mycss_declaration_default_entry_border_top_color,

source/mycss/declaration/entry_destroy.c

+13
Original file line numberDiff line numberDiff line change
@@ -215,4 +215,17 @@ mycss_declaration_entry_t * mycss_declaration_entry_destroy_background_size(mycs
215215
return decl_entry;
216216
}
217217

218+
mycss_declaration_entry_t * mycss_declaration_entry_destroy_border_spacing(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy)
219+
{
220+
decl_entry->value = mycss_values_destroy_shorthand_two_type(declaration->ref_entry, decl_entry->value, true);
221+
222+
if(self_destroy) {
223+
mcobject_free(declaration->mcobject_entries, decl_entry);
224+
return NULL;
225+
}
226+
227+
return decl_entry;
228+
}
229+
230+
218231

source/mycss/declaration/entry_destroy.h

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ mycss_declaration_entry_t * mycss_declaration_entry_destroy_border_color(mycss_d
4040
mycss_declaration_entry_t * mycss_declaration_entry_destroy_font(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
4141
mycss_declaration_entry_t * mycss_declaration_entry_destroy_border_x(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
4242
mycss_declaration_entry_t * mycss_declaration_entry_destroy_border_top_right_radius(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
43+
mycss_declaration_entry_t * mycss_declaration_entry_destroy_border_spacing(mycss_declaration_t* declaration, mycss_declaration_entry_t* decl_entry, bool self_destroy);
4344
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);
4445
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);
4546
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);

source/mycss/declaration/entry_destroy_resources.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ static mycss_callback_declaration_destroy_f mycss_declaration_entry_destroy_map_
9090
mycss_declaration_entry_destroy_undef,
9191
mycss_declaration_entry_destroy_undef,
9292
mycss_declaration_entry_destroy_undef,
93-
mycss_declaration_entry_destroy_undef,
93+
mycss_declaration_entry_destroy_border_spacing,
9494
mycss_declaration_entry_destroy_border_style,
9595
mycss_declaration_entry_destroy_border_x,
9696
mycss_declaration_entry_destroy_undef,

source/mycss/declaration/serialization_resources.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ static mycss_declaration_serialization_f mycss_declaration_serialization_map_by_
9090
mycss_declaration_serialization_undef,
9191
mycss_declaration_serialization_undef,
9292
mycss_declaration_serialization_undef,
93-
mycss_declaration_serialization_undef,
93+
mycss_declaration_serialization_shorthand_two_type,
9494
mycss_declaration_serialization_shorthand_four,
9595
mycss_declaration_serialization_border_x,
9696
mycss_declaration_serialization_undef,

source/mycss/property/parser.c

+6-1
Original file line numberDiff line numberDiff line change
@@ -1034,6 +1034,11 @@ bool mycss_property_parser_border_radius(mycss_entry_t* entry, mycss_token_t* to
10341034
}
10351035

10361036
bool mycss_property_parser_border_top_right_radius(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
1037+
{
1038+
return mycss_property_parser_short_two_type(entry, token);
1039+
}
1040+
1041+
bool mycss_property_parser_short_two_type(mycss_entry_t* entry, mycss_token_t* token)
10371042
{
10381043
if(token->type == MyCSS_TOKEN_TYPE_WHITESPACE)
10391044
return true;
@@ -2838,7 +2843,7 @@ bool mycss_property_parser_border_image_width(mycss_entry_t* entry, mycss_token_
28382843

28392844
bool mycss_property_parser_border_spacing(mycss_entry_t* entry, mycss_token_t* token, bool last_response)
28402845
{
2841-
return mycss_property_shared_switch_to_parse_error(entry);
2846+
return mycss_property_parser_short_two_type(entry, token);
28422847
}
28432848

28442849
bool mycss_property_parser_box_decoration_break(mycss_entry_t* entry, mycss_token_t* token, bool last_response)

utils/MyCSS/data/property.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ zoom-in | zoom-out | inherit | initial | unset" initial="auto" default="cursor">
161161
<!-- https://drafts.csswg.org/css-tables-3/#propdef-border-collapse -->
162162
<property name="border-collapse" value="separate | collapse" initial="separate"></property>
163163
<!-- https://drafts.csswg.org/css-tables-3/#propdef-border-spacing -->
164-
<property name="border-spacing" value="" initial="0px 0px"></property>
164+
<property name="border-spacing" value="<length> | inherit | initial | unset" initial="0px 0px" serialize="shorthand_two_type" destroy="border_spacing" default="border_spacing"></property>
165165
<!-- https://drafts.csswg.org/css-tables-3/#propdef-caption-side -->
166166
<property name="caption-side" value="top | bottom" initial="top"></property>
167167
<!-- https://drafts.csswg.org/css-tables-3/#propdef-empty-cells -->

0 commit comments

Comments
 (0)