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">
-
+