Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP1:Update
libreoffice.15777
bsc1172053.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bsc1172053.diff of Package libreoffice.15777
From 73e9e4145ba53585a1a3dcdfbc333c36e6bc1ffc Mon Sep 17 00:00:00 2001 From: Miklos Vajna <vmiklos@collabora.com> Date: Wed, 10 Jun 2020 14:51:04 +0200 Subject: [PATCH] bsc1172053.diff PPTX export, custom shape, bitmap fill: fix source vs fill rect confusion Commit 682ab832522b1349f1714bcb16f6e83468ea2920 (drawingML export\import: cropping of shape's fill texture, 2014-02-12) improved the DOCX filter, so the fill rectangle of a custom shape with bitmap fill is handled. The problem is drawingML has a source rectangle (similar to our crop rect) to limit the usage of the bitmap, and also it has a fill rectangle in case some margin is wanted around a stretched bitmap. We don't have a mapping for the later. Fix the problem by limiting the above work for DOCX, this way PPTX's source rectangle won't be turned into a stretch's fill rectangle. This way no unwanted margins will appear around the image -- those margins can be large enough that the image effectively disappears on export. (cherry picked from commit b00e43fa5848be0cc7ba81b185021511d94cdc00) Change-Id: Ic35063545a56eec9eaf885bbd397a854705d134f --- oox/source/export/drawingml.cxx | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index 468c89ad7b7e..05cd97946341 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -1455,6 +1455,12 @@ void DrawingML::WriteXGraphicBlipFill(uno::Reference<beans::XPropertySet> const WriteXGraphicBlip(rXPropSet, rxGraphic, bRelPathToMedia); + if (GetDocumentType() != DOCUMENT_DOCX) + { + // Write the crop rectangle of Impress as a source rectangle. + WriteSrcRectXGraphic(rXPropSet, rxGraphic); + } + if (bWriteMode) { WriteXGraphicBlipMode(rXPropSet, rxGraphic); @@ -1550,6 +1556,13 @@ void DrawingML::WriteSrcRectXGraphic(uno::Reference<beans::XPropertySet> const & void DrawingML::WriteXGraphicStretch(uno::Reference<beans::XPropertySet> const & rXPropSet, uno::Reference<graphic::XGraphic> const & rxGraphic) { + if (GetDocumentType() != DOCUMENT_DOCX) + { + // Limiting the area used for stretching is not supported in Impress. + mpFS->singleElementNS(XML_a, XML_stretch); + return; + } + mpFS->startElementNS(XML_a, XML_stretch); bool bCrop = false; -- 2.26.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor