summaryrefslogtreecommitdiffstats
path: root/filter/source/graphicfilter/eos2met/eos2met.cxx
diff options
context:
space:
mode:
authorArmin Le Grand <alg@apache.org>2012-10-26 11:00:48 +0000
committerCaolán McNamara <caolanm@redhat.com>2013-06-12 15:38:50 +0100
commit70e3eb2c1762fb1ca097cf671e3c7ce3d0dfd1b7 (patch)
tree80ec388e04d6fa22e19c8ba5329cab9f2068c666 /filter/source/graphicfilter/eos2met/eos2met.cxx
parenttypo in docs (diff)
downloadcore-70e3eb2c1762fb1ca097cf671e3c7ce3d0dfd1b7.tar.gz
core-70e3eb2c1762fb1ca097cf671e3c7ce3d0dfd1b7.zip
Resolves: #i121267# added support for taking clipping into account...
for metafile-based exporters to vector formats (cherry picked from commit 229a79b97110c11ef21b7b99ffc768254ca01d96) Conflicts: basegfx/inc/basegfx/polygon/b2dpolypolygontools.hxx filter/source/flash/swfexporter.cxx filter/source/graphicfilter/eos2met/eos2met.cxx svtools/source/filter/wmf/wmf.cxx vcl/Package_inc.mk Remove unused variable to prevent compile warnings. (cherry picked from commit 60d19c1602e4fec740624fd20a7bfd39707297e4) Change-Id: Iaeb02d7321bea2890cf4e969f1d45d58deef5584 106285f06a21f4f39f34c6755d12ac6cd4196a7f
Diffstat (limited to 'filter/source/graphicfilter/eos2met/eos2met.cxx')
-rw-r--r--filter/source/graphicfilter/eos2met/eos2met.cxx19
1 files changed, 15 insertions, 4 deletions
diff --git a/filter/source/graphicfilter/eos2met/eos2met.cxx b/filter/source/graphicfilter/eos2met/eos2met.cxx
index f5a5a23965dc..761c4564e48f 100644
--- a/filter/source/graphicfilter/eos2met/eos2met.cxx
+++ b/filter/source/graphicfilter/eos2met/eos2met.cxx
@@ -34,7 +34,7 @@
#include <vcl/svapp.hxx>
#include <vcl/msgbox.hxx>
#include <svl/solar.hrc>
-
+#include <vcl/gdimetafiletools.hxx>
// -----------------------------Field Types-------------------------------
@@ -2558,10 +2558,21 @@ sal_Bool METWriter::WriteMET( const GDIMetaFile& rMTF, SvStream& rTargetStream,
extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL
GraphicExport( SvStream & rStream, Graphic & rGraphic, FilterConfigItem* pFilterConfigItem, sal_Bool )
-{ METWriter aMETWriter;
+{
+ METWriter aMETWriter;
+
+ // #119735# just use GetGDIMetaFile, it will create a buffered version of contained bitmap now automatically
+ GDIMetaFile aMetafile(rGraphic.GetGDIMetaFile());
+
+ if(usesClipActions(aMetafile))
+ {
+ // #i121267# It is necessary to prepare the metafile since the export does *not* support
+ // clip regions. This tooling method clips the geometry content of the metafile internally
+ // against it's own clip regions, so that the export is safe to ignore clip regions
+ clipMetafileContentAgainstOwnRegions(aMetafile);
+ }
- // #119735# just use GetGDIMetaFile, it will create a bufferd version of contained bitmap now automatically
- return aMETWriter.WriteMET( rGraphic.GetGDIMetaFile(), rStream, pFilterConfigItem );
+ return aMETWriter.WriteMET( aMetafile, rStream, pFilterConfigItem );
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */