path: root/cppcanvas
AgeCommit message (Collapse)AuthorFilesLines
2018-01-19loplugin:useuniqueptr in EMFPBrushNoel Grandin2-36/+17
Change-Id: I17fc33cfd7c15734fd961fa76c676424900a4373
2018-01-12More loplugin:cstylecast: cppcanvasStephan Bergmann3-23/+23
auto-rewrite with <> "Enable loplugin:cstylecast for some more cases" plus solenv/clang-format/reformat-formatted-files Change-Id: Ib58b16600c97f8dab1b32d7e049c946ca82e660b
2017-12-22tdf#42949 Fix some Include What You Use warningsMiklos Vajna1-4/+0
Change-Id: I30121764303579a7cb4ded0f0f48cc1f8fff6c33 Reviewed-on: Reviewed-by: Miklos Vajna <> Tested-by: Jenkins <>
2017-12-11loplugin:salcall fix functionsNoel Grandin1-1/+1
since cdecl is the default calling convention on Windows for such functions, the annotation is redundant. Change-Id: I1a85fa27e5ac65ce0e04a19bde74c90800ffaa2d Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-12-06Remove unused #include <vcl/metaact.hxx> from vcl/outdev.hxxStephan Bergmann1-1/+5
...and fix the fallout Change-Id: Ie514bd95d5a9f990a887566619031e9844c40b92 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Stephan Bergmann <>
2017-11-23Make loplugin:unnecessaryparen look through implicitStephan Bergmann1-10/+10
...similar to how <> "Make not warning about !! in loplugin:simplifybool consistent" does for loplugin:simplifybool Change-Id: I23eef400af71c582d380c9bae6546ce06e8a1e18 Reviewed-on: Tested-by: Stephan Bergmann <> Reviewed-by: Stephan Bergmann <>
2017-11-06loplugin:constparams in cppcanvas,drawinglayerNoel Grandin8-12/+12
Change-Id: I15cac1411c985afe8d7cb9439214a8092702bdb8 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-11-03loplugin:constmethod in drawinglayerNoel Grandin2-6/+6
Change-Id: I6a33765f6589fc2941162eb2dcaa4e0a2d9e46e1 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-10-27Remove part of clang-cl workaround that is no longer neededStephan Bergmann2-6/+0
...after ColorSharedPtr is gone Change-Id: Id147e544e3b82577f4b7dbb5987472469782165f
2017-10-27remove GetSwapFloat nonsense from all 3 EMF readersMichael Stahl1-23/+0
SvStream::ReadFloat already does that, and SvStream is initialised to SvStreamEndian::LITTLE by default. Change-Id: I5859e43014533bcebef9d4b8f0678c516193b92e
2017-10-26vcl: make MapMode constructor explicitMichael Stahl1-1/+1
Insert constructor everywhere, except a couple places that apparently want to compare GetMapUnit(). Change-Id: I1910deb60562e5e949203435e827057f70a3f988
2017-10-23loplugin:includeform: cppucanvasStephan Bergmann29-60/+60
Change-Id: I83da2a535f89dfaa675629ca3dc2a6cefc334443
2017-10-23chmod 0755 -> 0644 for some source filesStephan Bergmann14-0/+0
Change-Id: Ibe5b5e03374419c2c23cd6559ab213d2dc2fcc66
2017-10-16tdf#31814 Resolve TODO from EMF+ DrawImage and DrawImagePointsBartosz Kosiorek1-33/+29
Change-Id: I1b128aa467286b5ae5e0d3cc298ee59f3e6ec12d Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Patrick Jaap <> Reviewed-by: Bartosz Kosiorek <>
2017-10-09remove cppcanvas Color classNoel Grandin10-129/+14
which actually does nothing useful. Looks like it was originally intended to be used to implement color profiles, but since nothing has happened on that front since it was created, safe to say it never will. Probably not the right place in the graphics stack to do it anyhow. Change-Id: I36990db4036e3b4b2b75261fc430028562a6dbd9 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-09-30work around clang-cl ABI bug PR25641Stephan Bergmann2-0/+6
<> "clang-cl: vtordisp thunks not emitted for functions with class template specializations in their signatures". Change-Id: I4f9a9777ba7486a026cb3b34340fa5b78f210f05 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Stephan Bergmann <>
2017-09-26Rename the basegfx::tools namespace to basegfx::utilsTor Lillqvist24-87/+90
Reduce potential confusion with the global tools namespace. Will hopefully make it possible to remove the annoying initial :: when referring to the global tools namespace. Unless we have even more tools subnamespaces somewhere. Thorsten said it was OK. Change-Id: Id088dfe8f4244cb79df9aa988995b31a1758c996 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Tor Lillqvist <>
2017-09-22Fresh run of bin/update_pch.shMike Kaganski1-30/+19
Change-Id: I69d4157aaf6570cecd51ea59df20556914942e06 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Mike Kaganski <>
2017-09-11clang-tidy modernize-use-emplace in c*Noel Grandin2-83/+57
Change-Id: I419d1f67ba301050d05981db2a3d6178878684a9 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-08-24loplugin:useuniqueptr in cppcanvasNoel Grandin3-33/+29
Change-Id: I8e995128a7a1c5911efc82a762dbe7be015b2050 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-08-12tdf#96099 Remove ActionSharedPtr typedefIvan Safonov16-83/+80
Replace ActionSharedPtr by its definition. Change-Id: Iedd14c85169230d961f0707671885451875529d7 Reviewed-on: Reviewed-by: Julien Nabet <> Tested-by: Julien Nabet <>
2017-08-01move resmgr to unotoolsCaolán McNamara1-1/+1
and the vast majority of translations is to the ui language so default ctor with that arg and now drop OModuleResourceClient Change-Id: I3b85a560ffdfe5f019c2271ac56a5fe4a361522b
2017-08-01loplugin:checkunusedparamsNoel Grandin1-5/+0
the "check for taking address of function" part was generating false+ Change-Id: Iad6203850901229b7b1b2f8938c68ec703cd343f Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-07-28loplugin:constparams handle constructorsNoel Grandin1-12/+12
had to change the structure of the plugin considerably, was too messy to structure it to do the calculations on a per-function basis Change-Id: I4edee7735f726101105c607368124a08dba21086 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-07-28loplugin:checkunusedparams more part1Noel Grandin7-34/+12
seems I got one of the checks wrong, and was missing a bunch of stuff Change-Id: I2c662fc4e735f8d6cbe56c6f82906a60a580331b Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-07-25use more comphelper::InitAnyPropertySequenceNoel Grandin2-24/+14
Found with: git grep -n -A10 'Sequence.*Any' -- *.cxx | grep -B5 -w PropertyValueProvider and: git grep -n 'Sequence.*Any.*( *&' Change-Id: Icb18c98bdd3f8352817e443ff78de5df042859ad Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-07-22loplugin:unusedfields in cppcanvas..cuiNoel Grandin1-4/+1
Change-Id: I1cf1f7919e03d863c6f7756e1caf3b9313777479 Reviewed-on: Reviewed-by: Noel Grandin <> Tested-by: Noel Grandin <>
2017-07-21migrate to boost::gettextCaolán McNamara2-6/+0
* all .ui files go from <interface> to <interface domain="MODULE"> e.g. vcl * all .src files go away and the english source strings folded into the .hrc as NC_("context", "source string") * ResMgr is dropped in favour of std::locale imbued by boost::locale::generator pointed at matching MODULE .mo files * UIConfig translations are folded into the module .mo, so e.g. UIConfig_cui goes from l10n target to normal one, so the res/lang.zips of UI files go away * translation via Translation::get(hrc-define-key, imbued-std::locale) * python can now be translated with its inbuilt gettext support (we keep the name strings.hrc there to keep finding the .hrc file uniform) so magic numbers can go away there * java and starbasic components can be translated via the pre-existing css.resource.StringResourceWithLocation mechanism * en-US res files go away, their strings are now the .hrc keys in the source code * remaining .res files are replaced by .mo files * in .res/.ui-lang-zip files, the old scheme missing translations of strings results in inserting the english original so something can be found, now the standard fallback of using the english original from the source key is used, so partial translations shrink dramatically in size * extract .hrc strings with hrcex which backs onto xgettext -C --add-comments --keyword=NC_:1c,2 --from-code=UTF-8 --no-wrap * extract .ui strings with uiex which backs onto xgettext --add-comments --no-wrap * qtz for gettext translations is generated at runtime as ascii-ified crc32 of content + "|" + msgid * [API CHANGE] remove deprecated binary .res resouce loader related uno apis com::sun::star::resource::OfficeResourceLoader com::sun::star::resource::XResourceBundleLoader com::sun::star::resource::XResourceBundle when translating strings via uno apis can continue to be used Change-Id: Ia2594a2672b7301d9c3421fdf31b6cfe7f3f8d0a
2017-07-20loplugin:constparams in cppcanvasNoel Grandin5-12/+12
Change-Id: Ic440819b5a1c71d2e4503b9a3b1e961c4ce123af Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-07-17Fix CppunitTest_cppcanvas_emfplusStephan Bergmann1-0/+1
Change-Id: Icb618e9ccf36cedb6409ecd9dbda86a5e1377087
2017-07-15emfplus: create a wmf/emf/emf+ primitive based importerArmin Le Grand1-1/+1
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
2017-07-06use more begin()/end() for SequenceNoel Grandin1-3/+1
Change-Id: I399be6b6ef7a6ce01e883569a177c0969bc29c69
2017-07-05loplugin:useuniqueptr in basic..cppcanvasNoel Grandin4-26/+16
Change-Id: Ib40241eb794607154ae52f8aa68fbf5ea5e944af Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-06-23loplugin:oncevar in cppcanvas..drawinglayerNoel Grandin1-3/+1
Change-Id: I5456aad61fb0dfe6830eae62b91d1a6399d6343f Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-06-18remove unused osl/mutex.hxx includesJochen Nitschke1-1/+0
Change-Id: I3b50e45fdb99e9cd8bfda07356ee3ddb4dd0f8bb Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Jochen Nitschke <>
2017-05-31clang-tidy readability-redundant-control-flowNoel Grandin1-1/+0
Change-Id: I832f7ef0f1bd55e365db7e49823fe8bc30390c04 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>
2017-05-30teach redundantcast plugin about functional castsNoel Grandin1-5/+4
Change-Id: Iac8ccd17d9e46ebb2cb55db7adb06c469bbd4ea0 Reviewed-on: Reviewed-by: Noel Grandin <> Tested-by: Noel Grandin <>
2017-05-21cppcanvas: this assert can stayThorsten Behrens1-2/+1
Both sequences are supposed to be 4 - input there does not result from parsing the EMF+ file. Change-Id: Idcfa70d717b75ce226a8bae0ebe073002555ef17 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Thorsten Behrens <>
2017-05-16aliasing(?) gives a ever so slightly different color on hidpiCaolán McNamara1-1/+4
e.g. without hidpi this could probably be reproduced with export SAL_USE_VCLPLUGIN=gtk3 export GDK_BACKEND=x11 export GDK_SCALE=2 and CppunitTest_cppcanvas_emfplus fails with 0x00ff00 instead of 0x00fe00 Change-Id: I1ecd7dce7703ed50fe396e007424a3ec4252d063
2017-05-14tdf#43157: convert cppcanvas module away from OSL_ASSERTChris Sherlock3-3/+3
2nd attempt, this time I've decided makes more sense to just produce a warning. Change-Id: Iaf373a2d38e8f47266b00ea869de38a584788d45 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Chris Sherlock <>
2017-05-12EMF+ tdf#31814 Add support of reading EmfPlusBoundaryPointDataBartosz Kosiorek3-68/+87
The EmfPlusBoundaryPointData object specifies a closed cardinal spline boundary for a gradient brush. This data is starting point for displaying correctly gradients. Change-Id: I91b01417c6dc00a04dabfc5a035afe9085999240 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Bartosz Kosiorek <>
2017-05-09EMF+ We already implemented most used EMF+ records.Bartosz Kosiorek1-6/+5
Now it's time to enable warnings, to track not implemented cases, to have clear notification what is wrong with imported image. Change-Id: Ic880a5b7df03e4a98d4700bebb3d0f6d77980505 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Bartosz Kosiorek <>
2017-05-09tdf#31814 EMF+ Fix an issue when not all elements were displayedBartosz Kosiorek2-8/+15
On on EMF+ images generated by ChemDraw, some elements were not displayed. After investigation, occurs that position of points was not read properly in same cases. This commit fixes such cases. Change-Id: I1d01d8defc41f4e437a669ef1268b8e33823cfc1 Reviewed-on: Reviewed-by: Bartosz Kosiorek <> Tested-by: Bartosz Kosiorek <>
2017-05-07tdf#31814 Introduce minimal value of line width to fix EMF+ import issuesBartosz Kosiorek1-5/+9
Based on observation of different EMF+ files (eg. exported by ChemDraw), there is minimal value of line width. This commit is fixing all such import issues. Change-Id: I5c26a1b511363eb1e429bf770ad0f482b124ecb5 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Bartosz Kosiorek <>
2017-05-07revert OSL_ASSERT changesChris Sherlock3-3/+3
Change-Id: I365d140446bd2a62cf8256acbfdd53fe72987380
2017-05-07tdf#43157: convert cppcanvas module away from OSL_ASSERT to assertChris Sherlock3-3/+3
Change-Id: I1db04c35cc004a33b0d2586f9eb1d21bc545eb81
2017-05-06EMF Replace magic numbers of pen and brush objectsBartosz Kosiorek3-27/+58
Change-Id: Ia3b6208b3d42b46fbdc9d61bbdea1c790aaf3ba0 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Bartosz Kosiorek <>
2017-05-05Fix typosAndrea Gelmini2-2/+2
To complete commit 0ef94e2b559547bc4e906e7f24e57ff5d642e108 and f12096272e684ddcd8ffa4e34dcb0a680cc594c2 Change-Id: Ie86bbfbd58dd728a013bef221e4d5c8fbcaf8e03 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Julien Nabet <>
2017-05-04Fix number of EmfPlusEndContainer recordBartosz Kosiorek1-1/+1
EmfPlusEndContainer record closes a graphics state container that was previously opened by a begin container operation. Change-Id: I80d977ba53b98ef87b70e0dca2008c1980f901f9 Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Bartosz Kosiorek <>
2017-05-02loplugin:checkunusedparams in cppcanvas and dbaccessNoel Grandin3-3/+3
Change-Id: Ia66e6326f3d1750b4e46a3f9f7127e7ed4aa99ca Reviewed-on: Tested-by: Jenkins <> Reviewed-by: Noel Grandin <>