[librsvg: 2/4] Set cairo operator from MixBlendMode property prior to painting
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 2/4] Set cairo operator from MixBlendMode property prior to painting
- Date: Tue, 25 Aug 2020 15:04:56 +0000 (UTC)
commit 78bebb35636e5319a4cf195513698208772b0a52
Author: John Ledbetter <john ledbetter gmail com>
Date: Mon Aug 24 17:54:52 2020 -0400
Set cairo operator from MixBlendMode property prior to painting
rsvg_internals/src/drawing_ctx.rs | 2 ++
1 file changed, 2 insertions(+)
---
diff --git a/rsvg_internals/src/drawing_ctx.rs b/rsvg_internals/src/drawing_ctx.rs
index b96cad89..83cde5bf 100644
--- a/rsvg_internals/src/drawing_ctx.rs
+++ b/rsvg_internals/src/drawing_ctx.rs
@@ -515,6 +515,7 @@ impl DrawingCtx {
let needs_temporary_surface = !(is_opaque
&& filter.is_none()
&& mask.is_none()
+ && values.mix_blend_mode() == MixBlendMode::Normal
&& clip_in_object_space.is_none());
if needs_temporary_surface {
@@ -633,6 +634,7 @@ impl DrawingCtx {
// No mask, so composite the temporary surface
dc.cr.set_matrix(affines.compositing.into());
+ dc.cr.set_operator(values.mix_blend_mode().into());
if opacity < 1.0 {
dc.cr.paint_with_alpha(opacity);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]