summaryrefslogtreecommitdiff
path: root/drawinglayer/source
AgeCommit message (Collapse)Author
2018-04-17tdf#113197 Add MaskPrimitive (clip) to EMF/WMF if neededArmin Le Grand
Added code to quartz vcl implementation that takes care when BitmapPalette.count != (depth^^2)-1 - which may be the case anytime. If then a bitmap value exists that goes beyond that count, a invalid access was executed Change-Id: Iab332c91b8753aab85e9d365323f5c9e531efab2 Reviewed-on: https://gerrit.libreoffice.org/44058 Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl> Tested-by: Jenkins <ci@libreoffice.org>
2018-04-16tdf#113624 EMF+ Add support for different units conversionBartosz Kosiorek
With previous implementation only Pixel unit was supported. Other units (eg. inch, milimeters, points, world) was treated as Pixel. With this patch the correct unit conversion was implemented to following records: - FontObject - PenObject - SetWorldTransform As a result records are properly scaled. Tested with DrawString record from: https://bugs.documentfoundation.org/attachment.cgi?id=140287 Change-Id: I77435ad8f1bbac08f298a03d91d0c7f1f1734e5c Reviewed-on: https://gerrit.libreoffice.org/52699 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2018-04-16tdf#55058 Properly close shapes with close shape method.Bartosz Kosiorek
With previous implementation of closing shapes, we are adding new line between last and first point. It was causing wrong border shape during displaying. With this patch proper method was used to fix that. Change-Id: If0a084700401edd9d3b8a57cb27154079828e6ed Reviewed-on: https://gerrit.libreoffice.org/52843 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Patrick Jaap <patrick.jaap@tu-dresden.de> Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2018-04-13tdf#106084 EMF+ Implement String aligment and Leading/Trailing Margin.Bartosz Kosiorek
Many users noticing that EMF DrawString is shifted horizontally in same cases. It is caused by missing implementation of: - StringAlignment: Near: Alignment is to the left side of the layout rectangle Center: Specifies that alignment is centered between the origin and extent of the layout rectangle. Far: Alignment is to the right side of the layout rectangle - Leading Margin: specifies the length of the space to add to the starting position of a string - trailing Margin: Length of the space to leave following a string. With this path this missing parameters are implemented. It was tested with document: https://bugs.documentfoundation.org/attachment.cgi?id=131334 In following document StringAlignmentCenter and LeadingMargin is not set: https://bugs.documentfoundation.org/attachment.cgi?id=124180 I make sure that there is no regression (the image should be displayed as without the patch. Change-Id: I7909a1d02ffd558a3bf91bd41f6945830252724d Reviewed-on: https://gerrit.libreoffice.org/52696 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Patrick Jaap <patrick.jaap@tu-dresden.de> Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2018-04-11new loplugin:unusedvariablemoreNoel Grandin
collection of heuristics to look for local variables that are never read from i.e. do not contribute to the surrounding logic This is an expensive plugin, since it walks up the parent tree, so it is off by default. Change-Id: Ib8ba292241bd16adf299e8bba4502cb473513a06 Reviewed-on: https://gerrit.libreoffice.org/52450 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-10graphic: rename Set{Get,Is}Link to Set{Get,Is}GfxLinkTomaž Vajngerl
The main reason is to differentiate when we have the GfxLink from other (url, file) links which use the same terminology. Change-Id: I805c61e7fb231062340562c51c25a189b2cfc7f7 Reviewed-on: https://gerrit.libreoffice.org/52245 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-04-09EMF+ Fix variable types according to specificationBartosz Kosiorek
Change-Id: I03b949abbe53a4f34bba72a23f941ebea443f737 Reviewed-on: https://gerrit.libreoffice.org/52627 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2018-04-06tdf#114738 Add support for transparency for EMF+ recordsBartosz Kosiorek
With current EMF+ implementation all filled figures, does not support transparency. This patch add transparency support for following EMF+ records: - DrawDriverString - DrawString - FillEllipse - FillRects - FillPolygon - FillPie - FillPath - FillRegion Change-Id: I1e59ea90bdf5fafc07ff9417fccace44872bbecd Reviewed-on: https://gerrit.libreoffice.org/50609 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2018-04-03pass area param to DBG_UNHANDLED_EXCEPTIONNoel Grandin
and update sallogareas plugin to enforce this Change-Id: Id0782c8a1f619372e10d931aec3c6a4743a4c86a Reviewed-on: https://gerrit.libreoffice.org/52249 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-01remove unused processfactory.hxx includesJochen Nitschke
and fix fallout Change-Id: Id06bf31f2075111e426ba40c84c885ae70697bee Reviewed-on: https://gerrit.libreoffice.org/52206 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2018-03-26forcepoint #33 ensure payload is a EMFPPathCaolán McNamara
Change-Id: I0a9f332cc66e43caa4e1611006fa765cad063539 Reviewed-on: https://gerrit.libreoffice.org/51889 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-03-26forcepoint #32 survive missing emf pathsCaolán McNamara
Change-Id: Ic27c3bbac12f66b30ff2f30f558180127cc73a51 Reviewed-on: https://gerrit.libreoffice.org/51873 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-03-14tdf#115297: 1bit images displaying fixed (again)Vasily Melenchuk
Previous fix 25cd843664919974f0d21ca7a0b02cc43e9eeabb like any other before it have some regressions, so reverted. The root of most problems: fix for tdf#104141 d148340babf6c973f7d463909d7a51e16c953248, where mask drawing was implemented in bitmap drawing code. So instead of guessing for type of bitmap, mask is drawn with DrawBitmapEx resolving all known problems (tdf#114726, tdf#115297, tdf#113918 and tdf#104141). Change-Id: Ie00f7552d667e237b3c0f9505ee09cb51e85c43c Reviewed-on: https://gerrit.libreoffice.org/50828 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-11Move (and rename) graphic stuff from svtools to vclTomaž Vajngerl
This is preparing to change how GraphicManager works where it won't base itself around GraphicObject anymore but Graphic. No functional or cosmetic change was made to the classes, only changes that were needed because of the move and rename. The only thing that wasn't moved is the GraphicRenderer as it is not needed in vcl for now (but makes sense to move it in the future to keep graphic stuff together). grfmgr was renamed to GraphicObject as the GraphicManager will be changed a lot and most likely moved out, so the name grfmgr won't make any sense anymore. All the UNO implementations were renamed with a prefix Uno and used the same name as the class name. This is made to be more specific which are the Uno objects (for example graphic.cxx contained the implementation of XGraphic, which is similar to graph.cxx contains Graphic). Change-Id: I54a2fa6c7e997469aaa7770db05244adb9f64137 Reviewed-on: https://gerrit.libreoffice.org/51068 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-03-11Use for-range loops in drawinglayer and dtransJulien Nabet
Change-Id: I4d3368e2ffa4d98c04d69b8f5ef485558d812fda Reviewed-on: https://gerrit.libreoffice.org/51047 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-03-08loplugin:constantparam in desktop..i18npoolNoel Grandin
Change-Id: Ie2e1004c1ccc03777a8da9cb1144e89eb28ff313 Reviewed-on: https://gerrit.libreoffice.org/50928 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-07use more Color in cppcanvas..drawinglayerNoel Grandin
Change-Id: Ib0f15e8d4c01c1d2059cf32cc882042766d2a682 Reviewed-on: https://gerrit.libreoffice.org/50861 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-05tdf#116001 Incorrect Colors in Chart Wall Area (2nd attempt)Noel Grandin
regression from commit b10c7022f1be6e4825269bd5872575b5b53744ef "use RawBitmap in BPixelRasterToBitmapEx" fix attempt at fixing it in commit 3d400321910ff0fe89ab8c70c59432e676cb1340 "tdf#116001 Incorrect Colors in Chart Wall Area" was incomplete. the drawinglayer code was (a) not initialising the background transparency on all pixels and (b) not calling the Color constructor correctly. Change-Id: I1cf7d7d5eb67ba472e17790b18c33d8e4b97ae4c Reviewed-on: https://gerrit.libreoffice.org/50764 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-03-01tdf#116001 Incorrect Colors in Chart Wall AreaNoel Grandin
regression from commit b10c7022f1be6e4825269bd5872575b5b53744ef "use RawBitmap in BPixelRasterToBitmapEx" we need to implement alpha support in vcl::bitmap::CreateFromData Change-Id: I68bebbe1dd15e3bb04de312309c1631d6bb7fe2d Reviewed-on: https://gerrit.libreoffice.org/50556 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-28convert COL_ constants to be of type ColorNoel Grandin
Change-Id: I0e25c8950ac26b851ff42f71e1471fcbe4770d48 Reviewed-on: https://gerrit.libreoffice.org/50373 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-27remove unused vclunohelper.hxx includesJochen Nitschke
Change-Id: I68178379e5493d0e738861a4dce5aa6e4b58cd22 Reviewed-on: https://gerrit.libreoffice.org/50393 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-27replace Color(COL_*) with COL_*Noel Grandin
using git grep -lwP "Color\s*\(\s*(COL_\w+)\s*\)" | xargs perl -pi -e "s/Color\s*\(\s*(COL_\w+)\s*\)//g" and then some manual fixup where the resulting expression no longer compiled Change-Id: I0e268d78611c3be40bba9f60ecfdc087a36c0df4 Reviewed-on: https://gerrit.libreoffice.org/50372 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-20use RawBitmap in BPixelRasterToBitmapExNoel Grandin
part of making BitmapWriteAccess an internal detail of vcl/ Change-Id: I28b9e0e0b414489c564fb2f23c4de2390ad175c1 Reviewed-on: https://gerrit.libreoffice.org/49964 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-18remove use of FillBitmapURL and use FillBitmap as the alternativeTomaž Vajngerl
This is under the ongoing work to get rit of all usage of GraphicObject URLs Change-Id: I900e435ac36a4012ec36a2f0c1d909982c82660a Reviewed-on: https://gerrit.libreoffice.org/49895 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2018-02-06convert SetPixel->SetPixelOnDataNoel Grandin
by extracting out the Y scanline computation from the innermost loop. Inspired by commit 078d01c1b6cb9bbd80aeadc49a71cc817413164c. Change-Id: Ic3c1827c01ed3aec629975749a551c7a68ae4a5e Reviewed-on: https://gerrit.libreoffice.org/48926 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-02-05vcl: remove BitmapColor Color() operatorChris Sherlock
BitmapColor has a Color() operator. However, this is confusing and tends to hide that the two classes aren't the same. I have converted this to GetColor(). Change-Id: I0be2dcb3fc420e7be9c8d04330e7a3fe69a5412a Reviewed-on: https://gerrit.libreoffice.org/48245 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2018-01-30ofz#5822 Divide-by-zeroCaolán McNamara
Change-Id: Ibfffd57f74b579f869115ad961aa2ec9b35faca3 Reviewed-on: https://gerrit.libreoffice.org/48889 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-01-29Fix typosAndrea Gelmini
Change-Id: Iedd82d035454c940d76a94c7e910c81827c1389c Reviewed-on: https://gerrit.libreoffice.org/48828 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2018-01-29clang-tidy modernize-use-equals-default in drawinglayerJochen Nitschke
Change-Id: I2fbcac7a22a881681bc8b84274e7d39f1cec18bf Reviewed-on: https://gerrit.libreoffice.org/48800 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-24loplugin:unused-returns in drawinglayer..svxNoel Grandin
Change-Id: I033a78cc7fe7d8e5086f1c855c4aa371cc98dc7c Reviewed-on: https://gerrit.libreoffice.org/48400 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-24loplugin:unused-returns in vclNoel Grandin
Change-Id: I507320900a47f604d17ed7d402d531a7cbdf744e Reviewed-on: https://gerrit.libreoffice.org/48331 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-23More loplugin:cstylecast on WindowsStephan Bergmann
Automatic rewrite (of loplugin:cstylecast and loplugin:unnecessaryparen) after cab0427cadddb3aaf1349c66f2fa13a4234ba4b2 "Enable loplugin:cstylecast for some more cases" and a409d32e7f6fc09e041079d6dbc3c927497adfed "More loplugin:cstylecast" Change-Id: Ib3355159dd08333e1b7a8d091caf2069cdcc7862 Reviewed-on: https://gerrit.libreoffice.org/48317 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-01-19loplugin:useuniqueptr in EMFPBrushNoel Grandin
Change-Id: I86622a13583137605bf2b6468113da2eb5e4ee0b
2018-01-19loplugin:useuniqueptr in EMFPPenNoel Grandin
Change-Id: I2c3c7be4bc3b43f03c45724e7a002e862b50f24b
2018-01-19loplugin:useuniqueptr in GeoTexSvxMultiHatchNoel Grandin
Change-Id: I3d25a50ed7ebf78214c0d358243f7e286503b8f8
2018-01-19loplugin:useuniqueptr in ZBufferProcessor3DNoel Grandin
Change-Id: I73005afdaf20efe15321a2a073beb3ae4f7a63e3
2018-01-19loplugin:useuniqueptr in SvgRadialAtomPrimitive2DNoel Grandin
Change-Id: I00d1772732075848b25eb34d7c4b0386551c7e5f
2018-01-18Include android/compatibility.hxx from ubiquitous sal/config.hStephan Bergmann
...instead of having to add it to more and more individual .cxx files, as the need arises. Change-Id: If1e893c79abf1c1bb7fb7b89dcb9bd423a7f1b94 Reviewed-on: https://gerrit.libreoffice.org/48108 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2018-01-18android: use unified headers and llvm-c++ STL (x86) with NDK 16Christian Lohmaier
gnustl (and others) are to be removed in future versions of the ndk also bump gradle and build-tools to current versions along with it arm unfortunately crashes with llvm-c++, so keep with gnustl for now/fix that later Change-Id: Ic794c3293b599b77ec48096bf3283a99c09cbb79 Reviewed-on: https://gerrit.libreoffice.org/45163 Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com> Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
2018-01-16Fix typosAndrea Gelmini
Change-Id: Id3d1a07922d4ca05e3bbf61d4b5797a30fc5b23a Reviewed-on: https://gerrit.libreoffice.org/47872 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-01-16Fix typosAndrea Gelmini
Change-Id: Ia976371bf52eb1216d8abe728d80bbb87a3c38a2 Reviewed-on: https://gerrit.libreoffice.org/47858 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-01-12More loplugin:cstylecast: drawinglayerStephan Bergmann
auto-rewrite with <https://gerrit.libreoffice.org/#/c/47798/> "Enable loplugin:cstylecast for some more cases" plus solenv/clang-format/reformat-formatted-files Change-Id: I38baea4d1dd354e48eb90fc2fc385ef60485b5e3
2018-01-11convert (a>b?a:b) to std::max(a,b)Noel Grandin
with something like: git grep -nP '(.*)\s*>\s*(.*)\s*\?\s*\g1\s*:\s*\g2' Change-Id: I60b9a3a2a09162bc0de4c13fdde2c209696e5413 Reviewed-on: https://gerrit.libreoffice.org/47602 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-29loplugin:unnecessaryparen improve return checkNoel Grandin
Change-Id: I8128aa4b5fc60efd1dbf5971cdde11e588f5f64b Reviewed-on: https://gerrit.libreoffice.org/47167 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-19Fix typosAndrea Gelmini
Change-Id: Ibffe19c1dfda9d0f4ba8d2a0761ad1222491007f Reviewed-on: https://gerrit.libreoffice.org/46599 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-12-11loplugin:salcall fix functionsNoel Grandin
since cdecl is the default calling convention on Windows for such functions, the annotation is redundant. Change-Id: I1a85fa27e5ac65ce0e04a19bde74c90800ffaa2d Reviewed-on: https://gerrit.libreoffice.org/46164 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-08cppcheck: fix some reportsJulien Nabet
variableScope reports in comphelper/drawinglayer/editeng +filter/framework/l10ntools Change-Id: I4575428773e8b9b3efedabb44fdcd6d8175ac46a Reviewed-on: https://gerrit.libreoffice.org/46116 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-12-06Remove unused #include <vcl/metaact.hxx> from vcl/outdev.hxxStephan Bergmann
...and fix the fallout Change-Id: Ie514bd95d5a9f990a887566619031e9844c40b92 Reviewed-on: https://gerrit.libreoffice.org/45195 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-12-06tdf#109340 Improve performance by reducing matrix multiplicationBartosz Kosiorek
Multiplication of two B2DHomMatrix with operator* is very CPU expensive, because 24 of double-precision floating point multiplication needs to be performed. With this patch I have reduced Multiplication of matrix, by creating combined Scale and Transform matrix at once. It allows to reduce matrix multiplication by one, and improve import time. Change-Id: I85fde6354e458659a0214514c6e05b8e2ee04185 Reviewed-on: https://gerrit.libreoffice.org/45704 Reviewed-by: Patrick Jaap <patrick.jaap@tu-dresden.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-12-06Related: tdf#105998 except cut and paste as bitmap instead of exportCaolán McNamara
Take a drawing rectangle in draw and cut and paste as bitmap to writer. The hairline border along the very right/bottom edge of the bitmap appear missing. fallback to default handlers which can distort the hairline to be visible Change-Id: Iedb580f65879628839c83e41092745ae7c11267c Reviewed-on: https://gerrit.libreoffice.org/45902 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>