diff --git a/include/mycss/declaration/default_entries.h b/include/mycss/declaration/default_entries.h index 78ba134..f1713e8 100644 --- a/include/mycss/declaration/default_entries.h +++ b/include/mycss/declaration/default_entries.h @@ -813,4 +813,13 @@ static mycss_declaration_entry_t mycss_declaration_default_entry_border_spacing NULL, NULL }; +static mycss_declaration_entry_t mycss_declaration_default_entry_opacity = { + MyCSS_PROPERTY_TYPE_OPACITY, + MyCSS_PROPERTY_VALUE__NUMBER, + &(mycss_values_number_t) {{1}, false}, + false, + MyCSS_DECLARATION_FLAGS_READ_ONLY, + NULL, NULL +}; + #endif /* MyCSS_DECLARATION_DEFAULT_ENTRIES_H */ diff --git a/include/mycss/declaration/default_resources.h b/include/mycss/declaration/default_resources.h index 4553bb7..e80aba8 100644 --- a/include/mycss/declaration/default_resources.h +++ b/include/mycss/declaration/default_resources.h @@ -215,7 +215,7 @@ static mycss_declaration_entry_t * mycss_declaration_default_entry_index_type[My &mycss_declaration_default_entry_undef, &mycss_declaration_default_entry_undef, &mycss_declaration_default_entry_undef, - &mycss_declaration_default_entry_undef, + &mycss_declaration_default_entry_opacity, &mycss_declaration_default_entry_undef, &mycss_declaration_default_entry_undef, &mycss_declaration_default_entry_undef, diff --git a/source/mycss/declaration/default_entries.h b/source/mycss/declaration/default_entries.h index 9a20575..eb28dfd 100644 --- a/source/mycss/declaration/default_entries.h +++ b/source/mycss/declaration/default_entries.h @@ -801,7 +801,6 @@ static mycss_declaration_entry_t mycss_declaration_default_entry_vertical_align NULL, NULL }; - static mycss_declaration_entry_t mycss_declaration_default_entry_border_spacing = { MyCSS_PROPERTY_TYPE_BORDER_SPACING, MyCSS_PROPERTY_VALUE_UNDEF, @@ -814,4 +813,12 @@ static mycss_declaration_entry_t mycss_declaration_default_entry_border_spacing NULL, NULL }; +static mycss_declaration_entry_t mycss_declaration_default_entry_opacity = { + MyCSS_PROPERTY_TYPE_OPACITY, + MyCSS_PROPERTY_VALUE__NUMBER, + &(mycss_values_number_t) {{1}, false}, + false, + MyCSS_DECLARATION_FLAGS_READ_ONLY, + NULL, NULL +}; #endif /* MyCSS_DECLARATION_DEFAULT_ENTRIES_H */ diff --git a/source/mycss/declaration/default_resources.h b/source/mycss/declaration/default_resources.h index 08631cd..92d50d3 100644 --- a/source/mycss/declaration/default_resources.h +++ b/source/mycss/declaration/default_resources.h @@ -215,7 +215,7 @@ static mycss_declaration_entry_t * mycss_declaration_default_entry_index_type[My &mycss_declaration_default_entry_undef, &mycss_declaration_default_entry_undef, &mycss_declaration_default_entry_undef, - &mycss_declaration_default_entry_undef, + &mycss_declaration_default_entry_opacity, &mycss_declaration_default_entry_undef, &mycss_declaration_default_entry_undef, &mycss_declaration_default_entry_undef, diff --git a/source/mycss/property/parser.c b/source/mycss/property/parser.c index f129f0a..2d2e575 100644 --- a/source/mycss/property/parser.c +++ b/source/mycss/property/parser.c @@ -3233,7 +3233,20 @@ bool mycss_property_parser_offset_start(mycss_entry_t* entry, mycss_token_t* tok bool mycss_property_parser_opacity(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; + + mycore_string_t str = {0}; + mycss_declaration_entry_t* declr_entry = entry->declaration->entry_last; + + if (mycss_property_shared_percentage(entry, token, &declr_entry->value, &declr_entry->value_type, &str)) + return mycss_property_parser_destroy_string(&str, mycss_property_shared_switch_to_find_important(entry)); + + if (mycss_property_shared_number(entry, token, &declr_entry->value, &declr_entry->value_type, &str)) + 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)); + } bool mycss_property_parser_order(mycss_entry_t* entry, mycss_token_t* token, bool last_response) diff --git a/utils/MyCSS/data/property.txt b/utils/MyCSS/data/property.txt index 176a518..67eeb96 100644 --- a/utils/MyCSS/data/property.txt +++ b/utils/MyCSS/data/property.txt @@ -322,7 +322,7 @@ zoom-in | zoom-out | inherit | initial | unset" initial="auto" default="cursor"> - +