summaryrefslogtreecommitdiff
path: root/emfio
AgeCommit message (Collapse)Author
2017-09-04stray debuggingCaolán McNamara
Change-Id: Iabe56218f8914d8d858446eb177cb89dc1cd8601
2017-09-04crashtesting: uninherited GDIObj is also possible hereCaolán McNamara
e.g. kde239472-4.doc and W_META_CREATEPALETTE etc create objects that can be selected but are just a base GDIObj Change-Id: I4b99978c49f5abb7fb1c616d044ba25c793577be Reviewed-on: https://gerrit.libreoffice.org/41869 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-08-30Missing includeStephan Bergmann
Change-Id: Ic0ab1cc72005f99d7558b06c9a4ec9c94f2f0460
2017-08-30This check for GDIObj subtypes is exhaustiveStephan Bergmann
For one, catches issues like d5ed3cd6dbd22bb18542778f1c48f4d5b3ae0f95 "Make WinMtfFontStyle's base class EMFIO_DLLPUBLIC, too" earlier. For another, uses if/else to avoid unnecessary, expensive dynamic casts. Change-Id: I695b1e8673d5af22060b05b982789ad0ddcd39c3
2017-08-29Make WinMtfFontStyle's base class EMFIO_DLLPUBLIC, tooStephan Bergmann
...otherwise the dynamic_cast<WinMtfFontStyle*> in MtfTools::SelectObject (emfio/source/reader/mtftools.cxx) would not work on macOS in CppunitTest_emfio_wmf Change-Id: I5c361544fd273bdb65a4b83c7d694bae714815f5
2017-08-24emfio: unit test for the EMF+ rendererPatrick Jaap
Two unit tests, which test the EMF+ records DrawString and DrawLine independently. To this end, a fixed view decomposition of metafiles is implemented. The chosen primitives should be optimal, even for future extensions of the EMF+ parser. Change-Id: I12672d3b294ff0fdae63c7a5ce211517ef8f763c Reviewed-on: https://gerrit.libreoffice.org/41425 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-08-24Consistently use OUString in test::DirectoriesStephan Bergmann
Change-Id: Ia5fd8af34ee9d2f37e4450ab241f6bb9a06445b2 Reviewed-on: https://gerrit.libreoffice.org/41466 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-08-13ofz#3028: use of uninitialized valuesCaolán McNamara
Change-Id: I87bf37e4ae559c8057ac34b7d6dea52cf9468540 Reviewed-on: https://gerrit.libreoffice.org/41114 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-07-31loplugin:constparams in dbaccessNoel Grandin
Change-Id: I4994c4f0ae614c8f98466f440412f28380ddd6a6 Reviewed-on: https://gerrit.libreoffice.org/40589 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-17Remove unnecessary dependencyStephan Bergmann
...added with recent 29cdfa3fc337381e2529eaac2a551137ee8a1aaa "no need to statically link against the emfio library in the tests" Change-Id: Ibbcc5a52a57bde9d332e6660ebf7449f06851731
2017-07-17no need to statically link against the emfio library in the testsMarkus Mohrhard
ODR-violation found by ASAN: ==17022==ERROR: AddressSanitizer: odr-violation (0x2b86adb17c60): [1] size=352 'vtable for emfio::emfreader::XEmfParser' /home/tdf/lode/jenkins/workspace/lo_ubsan/emfio/source/emfuno/xemfparser.cxx [2] size=352 'vtable for emfio::emfreader::XEmfParser' /home/tdf/lode/jenkins/workspace/lo_ubsan/emfio/source/emfuno/xemfparser.cxx These globals were registered at these points: [1]: #0 0x443a73 in __asan_register_globals /home/tdf/lode/packages/llvm-3.8.0.src/projects/compiler-rt/lib/asan/asan_globals.cc:218 #1 0x2b86bea2dced in asan.module_ctor (/workdir/LinkTarget/CppunitTest/libtest_emfio_wmf.so+0x1a0ced) #2 0x7fff394ad75a (<unknown module>) [2]: #0 0x443a73 in __asan_register_globals /home/tdf/lode/packages/llvm-3.8.0.src/projects/compiler-rt/lib/asan/asan_globals.cc:218 #1 0x2b86ad6e862d in asan.module_ctor (/workdir/LinkTarget/CppunitTest/libtest_emfio_emf.so+0x18862d) #2 0x7fff394ad75a (<unknown module>) Change-Id: Id98677a3692ac6a0586164aa5d0a2c82ab26f916 Reviewed-on: https://gerrit.libreoffice.org/40029 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2017-07-15emfplus: corrections for UnitTest in vclArmin Le Grand
The CppunitTest_vcl_filters_test was not working due to a wmf file now being loadable. This leaded to better check errors on stream and react on it in test code. Hrad to find since that test - for whatever reason - is not executed on win. Also need to check result of EmfReader. Added emfio to test's module list Change-Id: Iea2b835408e919a8456e8f178cbfc782885ffebb
2017-07-15emfplus: more corrections due to linux buildArmin Le Grand
Change-Id: Ib2c3bff23043638d315405b5a91b2596e92f7ffa
2017-07-15emfplus: UnitTests and gerrit build correctionsArmin Le Grand
Needed to migrate UnitTest for Emf/Wmf import from vcl to emfio. Corrected stuff based on gerrit build feedback Change-Id: I7fd2456f814ea19583072ba09730a07e9b9d4061
2017-07-15emfplus: finetuning, UnitTest, not active by defaultArmin Le Grand
Change-Id: Ie085ad2610a306c7f9c44551114041d0950d1af5
2017-07-15emfplus: completed isolation/migration of Emf/WmfArmin Le Grand
Decided to keep the migrated/isolated Emf/Wmf reader which are now hidden behind a Uno Api. Had to re-implement WMF_EXTERNALHEADER (now WmfExternal, own file/header) to not break anything. It *seems* to just scale something and could be done after import, but I could not be sure. Also needed a callback hook to allow getting the Metafile out of a MetafilePrimitive in a lower module (vcl relative to drawinglayer) which is needed as long as primitives are not completely on Uno Api. Deleted all Emf/Wmf reader stuff from vcl. Change-Id: Ic5540defa8ec770728280df4df3f12e1f48cfc3a
2017-07-15emfplus: more streamlining of metafile importerArmin Le Grand
Change-Id: Ice0f779f8026983fd0884c2a02e9fd7220b498dc
2017-07-15emfplus: reorganized some old filter aspectsArmin Le Grand
Change-Id: I1949e851c560a81a461ec42a992f3b2cb0d019f8
2017-07-15emfplus: add rough version of local readerArmin Le Grand
Complete redevelopent is too expensive, start with adding a copy of the existing vcl importer which will in the next steps be adapted to import primitives instead of MetaFile(Actions). Adapted namespace, made compile and added sample code to roughly use it Change-Id: I79e7ea0d78099fbbe18e2a595457b2ab353f58ea
2017-07-15emfplus: use size of image of metafile fallbackArmin Le Grand
Change-Id: I0de82e0e431c0ce4527a909c2f98194f465ace8d
2017-07-15emfplus: for convenience added fallbackArmin Le Grand
For development and to not be dependent of the progress of the coming EMF+ importer, for now add fallback to using the old Metafile importer, plus conversion to primitive representation. That way the whole encapsulation is ready and can already be used Change-Id: I29afadaaaba71d75d0f5593852f4cc0cb3dd13f8
2017-07-15emfplus: create a wmf/emf/emf+ primitive based importerArmin Le Grand
First steps to organize an importer that can read/interpret wmf/emf/emf+ and deliver a primitive representation for the content by parsing it. Use the same mechanisms as already applied for Svg, so to reuse abilities to keep original binary data to allow save again and embedding in files and have an implemented replacement bitmap based representation. For this, unify the used helper classes to handle more than just Svg. For 1st try, add test code and static bool switches Change-Id: I6e0a82943541d811a8f8d65a84115569fcd8cee7