From c7723a237b82ff417e164621c7121858e0fc1bf9 Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Mon, 15 Feb 2021 21:00:39 +0100 Subject: [PATCH] GL colorize reset properly the canvas state (such as the clip and so on) and rotate the image otherwise it is painted upside down --- sixtyfps_runtime/rendering_backends/gl/lib.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sixtyfps_runtime/rendering_backends/gl/lib.rs b/sixtyfps_runtime/rendering_backends/gl/lib.rs index 85ce24b74..a425a36f9 100644 --- a/sixtyfps_runtime/rendering_backends/gl/lib.rs +++ b/sixtyfps_runtime/rendering_backends/gl/lib.rs @@ -1045,7 +1045,9 @@ impl GLItemRenderer { let brush_paint = self.brush_to_paint(colorize_brush, &mut image_rect).unwrap(); self.shared_data.canvas.borrow_mut().save_with(|canvas| { - canvas.reset_transform(); + canvas.reset(); + canvas.scale(1., -1.); // Image are rendered upside down + canvas.translate(0., -image_size.height); canvas.set_render_target(femtovg::RenderTarget::Image(colorized_image)); canvas.global_composite_operation(femtovg::CompositeOperation::Copy);