From d370e9d84d6e6f3adf54dfaf4469815297b18c4b Mon Sep 17 00:00:00 2001 From: Joshua Thijssen Date: Wed, 28 Feb 2024 20:40:18 +0100 Subject: [PATCH] Removed ccssom for now, and fixed tests --- crates/gosub_css3/src/cssom/cssrule.rs | 198 ------------------ crates/gosub_css3/src/cssom/cssrule_list.rs | 11 - crates/gosub_css3/src/cssom/stylesheet.rs | 62 ------ .../gosub_css3/src/cssom/stylesheet_list.rs | 11 - crates/gosub_styling/src/css_colors.rs | 4 +- 5 files changed, 2 insertions(+), 284 deletions(-) delete mode 100644 crates/gosub_css3/src/cssom/cssrule.rs delete mode 100644 crates/gosub_css3/src/cssom/cssrule_list.rs delete mode 100644 crates/gosub_css3/src/cssom/stylesheet.rs delete mode 100644 crates/gosub_css3/src/cssom/stylesheet_list.rs diff --git a/crates/gosub_css3/src/cssom/cssrule.rs b/crates/gosub_css3/src/cssom/cssrule.rs deleted file mode 100644 index 0c188cb08..000000000 --- a/crates/gosub_css3/src/cssom/cssrule.rs +++ /dev/null @@ -1,198 +0,0 @@ -pub enum CssRuleType { - UnknownRule = 0, - StyleRule = 1, - CharsetRule = 2, // Obsolete - ImportRule = 3, - MediaRule = 4, - FontFaceRule = 5, - PageRule = 6, - KeyframesRule = 7, - KeyframeRule = 8, - MarginRule = 9, // Obsolete - NamespaceRule = 10, - CounterStyleRule = 11, - SupportsRule = 12, - DocumentRule = 13, // Obsolete - FontFeatureValuesRule = 14, - ViewportRule = 15, // Obsolete - RegionStyleRule = 16, // Obsolete -} - -pub enum CssTypeRuleType { - StyleRule(CssStyleRule), - CharsetRule(CssCharsetRule), - ImportRule(CssImportRule), - MediaRule(CssMediaRule), - FontFaceRule(CssFontFaceRule), - PageRule(CssPageRule), - KeyframesRule(CssKeyframesRule), - KeyframeRule(CssKeyframeRule), - MarginRule(CssMarginRule), - NamespaceRule(CssNamespaceRule), - CounterStyleRule(CssCounterStyleRule), - SupportsRule(CssSupportsRule), - DocumentRule(CssDocumentRule), - FontFeatureValuesRule(CssFontFeatureValuesRule), - ViewportRule(CssViewportRule), - RegionStyleRule(CssRegionStyleRule), -} - -struct CssStyleDeclaration { - css_float: String, - css_text: String, - length: usize, - /// All the properties that are defined - property_list: HashMap, - parent_rule: Rc -} - -impl CssStyleDeclaration { - pub fn get_property_priority(&self, property: &str) -> Option<&str> { - None - } - - pub fn get_property_value(&self, property: &str) -> Option<&str> { - self.property_list.get(property).map(|s| s.as_str()) - } - - pub fn item(&self, idx: usize) -> Option<&str> { - None - } - - pub fn remove_property(&mut self, property: &str) { - self.property_list.remove(property); - } - - pub fn set_property(&mut self, property: &str, value: &str) { - self.property_list.insert(property.to_string(), value.to_string()); - } - - pub fn get_property_css_value(&self, property: &str) -> Option<&str> { - None - } -} - - -struct CssRule { - text: String, - parent_rule: Option>, - parent_stylesheet: Option>, - type_: CssRuleType, -} - -struct CssGroupingRule { - css_rules: CssRuleList, - parent: CssRule, -} - -impl CssGroupingRule { - pub fn delete_rule(&mut self, idx: usize) { - self.css_rules.remove(idx); - } - - pub fn insert_rule(&mut self, idx: usize, rule: CssRule) { - self.css_rules.insert(idx, rule); - } -} - -struct CssStyleRule { - selector_text: String, - style: CssStyleDeclaration, - // style_map: StylePropertyMap, // This is basically the same as the style, but in a different format I think - parent: CssGroupingRule, -} - -struct CssImportRule { - href: String, - layer_name: String, - media: String, - style_sheet: Rc, - supports_rule: Option, - parent: CssRule, -} - -struct CssMediaRule { - media: MediaList, - parent: CssGroupingRule, -} - -struct CssFontFaceRule { - style: CssStyleDeclaration, - parent: CssGroupingRule, -} - -struct CssPageRule { - selector_text: String, - style: CssStyleDeclaration, - parent: CssGroupingRule, -} - -struct CssNamespaceRule { - namespace: String, - prefix: String, - parent: CssRule, -} - -struct CssKeyframesRule { - name: String, - css_rules: CssRuleList, - parent: CssRule, -} - -struct CssKeyframeRule { - key_text: String, - style: CssStyleDeclaration, - parent: CssRule, -} - -struct CssCounterStyleRule { - name: String, - system: String, - symbols: String, - additive_symbols: String, - negative: String, - prefix: String, - suffix: String, - range: String, - pad: String, - speak_as: String, - fallback: String, - parent: CssRule, -} - -struct CssSupportsRule { - parent: CssConditionRule, -} - -struct CssFontFeatureValuesRule { - font_family: String, - parent: CssRule, -} - -struct CssFontPaletteValuesRule { - name: String, - font_family: String, - base_palette: String, - override_colors: String, - parent: CssRule, -} - -struct CssLayerBlockRule { - name: String, - parent: CssGroupingRule, -} - -struct CssLayerStatementRule { - name_list: NameList, - parent: CssRule, -} - -struct CssPropertyRule { - inherits: String, - initial_value: String, - name: String, - syntax: String, - parent: CssRule, -} - - diff --git a/crates/gosub_css3/src/cssom/cssrule_list.rs b/crates/gosub_css3/src/cssom/cssrule_list.rs deleted file mode 100644 index 43f5868fe..000000000 --- a/crates/gosub_css3/src/cssom/cssrule_list.rs +++ /dev/null @@ -1,11 +0,0 @@ -type CssRuleList = vec; - -impl CssRuleList { - fn item(&self, idx: usize) -> Option<&CssRule> { - self.get(idx) - } - - fn length(&self) -> usize { - self.len() - } -} \ No newline at end of file diff --git a/crates/gosub_css3/src/cssom/stylesheet.rs b/crates/gosub_css3/src/cssom/stylesheet.rs deleted file mode 100644 index ec936134d..000000000 --- a/crates/gosub_css3/src/cssom/stylesheet.rs +++ /dev/null @@ -1,62 +0,0 @@ -type MediaList = Vec; - -impl MediaList { - pub fn append_medium(&mut self, medium: String) { - self.push(medium); - } - - pub fn delete_medium(&mut self, idx: usize) { - self.remove(idx); - } - - pub fn item(&self, idx: usize) -> Option<&String> { - self.get(idx) - } -} - -struct StyleSheet { - disabled: bool, - href: String, - media: MediaList, - owner_node: Option, - parent_style_sheet: Option, - title: String, - type_: String, -} - -struct CSSStyleSheet { - rules: CssRuleList, - owner_rule: Option, - stylesheet: StyleSheet, -} - -impl CSSStyleSheet { - pub fn new(stylesheet: StyleSheet) -> Self { - Self { - rules: vec![] - owner_rule: None, - stylesheet, - } - } - - pub fn delete_rule(&mut self, idx: usize) { - self.rules.remove(idx); - } - - pub fn insert_rule(&mut self, idx: usize, rule: CssRule) { - self.rules.insert(idx, rule); - } - - pub fn replace_async(&mut self, idx: usize, rule: CssRule) { - self.rules[idx] = rule; - } - - pub fn replace(&mut self, idx: usize, rule: CssRule) { - self.rules[idx] = rule; - } - - // CSSOM: - // property: rules obsolete - // method: addRule() obsolete - // method: removeRule() obsolete -} \ No newline at end of file diff --git a/crates/gosub_css3/src/cssom/stylesheet_list.rs b/crates/gosub_css3/src/cssom/stylesheet_list.rs deleted file mode 100644 index 067fe1c8a..000000000 --- a/crates/gosub_css3/src/cssom/stylesheet_list.rs +++ /dev/null @@ -1,11 +0,0 @@ -type StyleSheetList = vec; - -impl StyleSheetList { - fn item(&self, idx: usize) -> Option<&StyleSheet> { - self.get(idx) - } - - fn length(&self) -> usize { - self.len() - } -} \ No newline at end of file diff --git a/crates/gosub_styling/src/css_colors.rs b/crates/gosub_styling/src/css_colors.rs index 1783b1e0a..f490d751b 100644 --- a/crates/gosub_styling/src/css_colors.rs +++ b/crates/gosub_styling/src/css_colors.rs @@ -117,7 +117,7 @@ fn parse_hex(value: &str) -> RgbColor { } // 6 hex digits (RRGGBB) - if value.len() == 6 { + if value.len() == 7 { let r = i32::from_str_radix(&value[1..3], 16).unwrap(); let g = i32::from_str_radix(&value[3..5], 16).unwrap(); let b = i32::from_str_radix(&value[5..7], 16).unwrap(); @@ -125,7 +125,7 @@ fn parse_hex(value: &str) -> RgbColor { } // 8 hex digits (RRGGBBAA) - if value.len() == 8 { + if value.len() == 9 { let r = i32::from_str_radix(&value[1..3], 16).unwrap(); let g = i32::from_str_radix(&value[3..5], 16).unwrap(); let b = i32::from_str_radix(&value[5..7], 16).unwrap();