From 2be104c83191c19368ac2b2dc3c2665aa666963a Mon Sep 17 00:00:00 2001 From: meloalright Date: Wed, 14 Aug 2024 23:48:13 +0800 Subject: [PATCH] feat: use cssparser => csscolorparser --- soft-skia-wasm/Cargo.toml | 2 +- soft-skia-wasm/src/lib.rs | 15 ++++----------- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/soft-skia-wasm/Cargo.toml b/soft-skia-wasm/Cargo.toml index b807e79..af54cca 100644 --- a/soft-skia-wasm/Cargo.toml +++ b/soft-skia-wasm/Cargo.toml @@ -15,7 +15,7 @@ serde = { version = "1.0", features = ["derive"] } serde-wasm-bindgen = "0.5.0" wasm-bindgen = "0.2.63" base64 = "0.21.0" -cssparser = "0.29" +csscolorparser = "0.7.0" soft_skia = { path = "../soft-skia" } # The `console_error_panic_hook` crate provides better debugging of panics by diff --git a/soft-skia-wasm/src/lib.rs b/soft-skia-wasm/src/lib.rs index 803b7af..0dea70b 100644 --- a/soft-skia-wasm/src/lib.rs +++ b/soft-skia-wasm/src/lib.rs @@ -10,8 +10,7 @@ use soft_skia::shape::Rect; use soft_skia::shape::{Circle, Image, Line, PaintStyle, Points, RoundRect, Shapes, Text}; use soft_skia::tree::Node; use wasm_bindgen::prelude::*; - -use cssparser::{Color as CSSColor, Parser, ParserInput}; +use csscolorparser; // When the `wee_alloc` feature is enabled, use `wee_alloc` as the global // allocator. @@ -457,15 +456,9 @@ impl SoftSkiaWASM { fn parse_color(color: Option) -> Option { if let Some(color_str) = color { - let mut parser_input = ParserInput::new(&color_str); - let mut parser = Parser::new(&mut parser_input); - - if let Ok(css_color) = CSSColor::parse(&mut parser) { - if let CSSColor::RGBA(rgba) = css_color { - return Some(ColorU8::from_rgba( - rgba.red, rgba.green, rgba.blue, rgba.alpha, - )); - } + if let Ok(css_color) = csscolorparser::parse(&color_str) { + let css_rgba8 = css_color.to_rgba8(); + return Some(ColorU8::from_rgba(css_rgba8[0], css_rgba8[1], css_rgba8[2], css_rgba8[3])) } } None