diff --git a/components/canvas/raqote_backend.rs b/components/canvas/raqote_backend.rs index 20e0416f3ca..8c49d9c7c01 100644 --- a/components/canvas/raqote_backend.rs +++ b/components/canvas/raqote_backend.rs @@ -398,3 +398,25 @@ impl Clone for Pattern<'_> { unimplemented!(); } } + +pub trait ToRaqoteSource<'a> { + fn to_raqote_source(self) -> Option>; +} + +impl<'a> ToRaqoteSource<'a> for FillOrStrokeStyle { + fn to_raqote_source(self) -> Option> { + use canvas_traits::canvas::FillOrStrokeStyle::*; + + match self { + Color(rgba) => Some(raqote::Source::Solid(raqote::SolidSource { + r: rgba.red, + g: rgba.green, + b: rgba.blue, + a: rgba.alpha, + })), + LinearGradient(_) => unimplemented!(), + RadialGradient(_) => unimplemented!(), + Surface(_) => unimplemented!(), + } + } +}