aboutsummaryrefslogtreecommitdiffstats
path: root/components/canvas/raqote_backend.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/canvas/raqote_backend.rs')
-rw-r--r--components/canvas/raqote_backend.rs14
1 files changed, 12 insertions, 2 deletions
diff --git a/components/canvas/raqote_backend.rs b/components/canvas/raqote_backend.rs
index 573ee2bb8ff..1c31346661a 100644
--- a/components/canvas/raqote_backend.rs
+++ b/components/canvas/raqote_backend.rs
@@ -24,8 +24,18 @@ impl Backend for RaqoteBackend {
color.as_raqote().a != 0
}
- fn size_from_pattern(&self, _rect: &Rect<f32>, _pattern: &Pattern) -> Option<Size2D<f32>> {
- unimplemented!()
+ fn size_from_pattern(&self, rect: &Rect<f32>, pattern: &Pattern) -> Option<Size2D<f32>> {
+ match pattern {
+ Pattern::Raqote(raqote::Source::Image(image, extend, ..)) => {
+ match extend {
+ raqote::ExtendMode::Repeat => {
+ Some(rect.size)
+ },
+ _ => Some(Size2D::new(image.width as f32, image.height as f32))
+ }
+ },
+ _ => None
+ }
}
fn set_shadow_color<'a>(&mut self, _color: RGBA, _state: &mut CanvasPaintState<'a>) {