drawinglayer/source/processor2d/vclpixelprocessor2d.cxx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-)
New commits: commit f2e9f7146adb64252174508025c167131131b9dd Author: Luboš Luňák <l.lu...@collabora.com> AuthorDate: Fri Sep 25 10:00:31 2020 +0200 Commit: Tomaž Vajngerl <qui...@gmail.com> CommitDate: Mon Sep 28 13:26:24 2020 +0200 forward axial and radial gradient types to VCL too VCL's drawGradient() can handle them all, at least using a fallback algorithm. And drawinglayer doesn't know which of them are handled directly by the VCL backend used. A catch is that the rendering of tdf#133477 is different, so keep using drawinglayer for the affected gradient types until somebody fixes that. Change-Id: I1719c67c15752c6d1c3431ddfa797ac94d039555 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103376 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lu...@collabora.com> (cherry picked from commit 6965bb07bb33429a7663a3f3ebe58ed89c4327d9) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103427 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Tomaž Vajngerl <qui...@gmail.com> diff --git a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx index 10d8e69e51fa..1cbd664d3eb1 100644 --- a/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx +++ b/drawinglayer/source/processor2d/vclpixelprocessor2d.cxx @@ -238,7 +238,9 @@ GradientStyle convertGradientStyle(drawinglayer::attribute::GradientStyle eGradi case drawinglayer::attribute::GradientStyle::Rect: return GradientStyle::Rect; case drawinglayer::attribute::GradientStyle::Linear: + return GradientStyle::Linear; default: + assert(false); return GradientStyle::Linear; } } @@ -901,8 +903,13 @@ GradientStyle convertGradientStyle(drawinglayer::attribute::GradientStyle eGradi { const attribute::FillGradientAttribute& rFillGradient = rPrimitive.getFillGradient(); - if (rFillGradient.getSteps() > 0 - || rFillGradient.getStyle() != drawinglayer::attribute::GradientStyle::Linear) + // VCL should be able to handle all styles, but for tdf#133477 the VCL result + // is different from processing the gradient manually by drawinglayer + // (and the Writer unittest for it fails). Keep using the drawinglayer code + // until somebody founds out what's wrong and fixes it. + if (rFillGradient.getStyle() != drawinglayer::attribute::GradientStyle::Linear + && rFillGradient.getStyle() != drawinglayer::attribute::GradientStyle::Axial + && rFillGradient.getStyle() != drawinglayer::attribute::GradientStyle::Radial) { process(rPrimitive); return; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits