summaryrefslogtreecommitdiff
path: root/include/basegfx
AgeCommit message (Collapse)AuthorFilesLines
2017-11-18RotateFlyFrame3: Initial support addedArmin Le Grand1-0/+20
First steps to get a rotated FlyFrame and content that only uses layouted sizes/positions and does not change the model data (except rotation). This works with persistence, after reload the rotation can be resetted with going back to the original FrameSize. Lot of stuff not yet working, experimental state. Change-Id: Ie29d501fe2e618a1cb4457d600ce97575ed372d0
2017-11-10loplugin:finalclasses in basic,basegfxNoel Grandin3-6/+3
Change-Id: Iff223782fa0ded0fe46b8b7af35bfd21f331015f Reviewed-on: https://gerrit.libreoffice.org/44535 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-01loplugin:constantparam in basegfxNoel Grandin3-12/+7
Change-Id: Ieabdd6f8d76cfc2ed75f2ec618def6591a9adc93 Reviewed-on: https://gerrit.libreoffice.org/44130 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-29ofz#3883 Integer-overflowCaolán McNamara1-3/+3
Change-Id: Ie1fd6617d6e598c6e2cfa8a83a0ffe16948e1efd Reviewed-on: https://gerrit.libreoffice.org/44022 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-20RotGrfFlyFrame: Implemented Handle Update on rotation changeArmin Le Grand1-0/+1
WIth rotaiton being allowed the handle visualisation may be dependent on this, so it is necessary to refresh their visualisation on rotation chnage, e.g. for crop handles Change-Id: I218e326894999381fc4058b7eba432491a0cf23b
2017-10-20RotGrfFlyFrame: Adapt Crop functionality to rotated GraphicArmin Le Grand1-0/+7
The FlyFrame which may contain a Graphic needs working Crop, interactive and in core. Adapted this to work with now possible rotation, changed common code in svx which has to handle cases for Draw/Impress/Calc and Writer differently. Tried to use as much in common as possible. Additionally furter adaptions to rotation itself. Change-Id: Ia961e9490e2627c74220b186116f5aa4fcabca78
2017-10-09ofz+ubsan: limit double range to sal_Int32 limitsCaolán McNamara1-1/+5
wmf fuzzing Change-Id: I37b437717f064c6c85cd383315adf4e989486412 Reviewed-on: https://gerrit.libreoffice.org/43272 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-04Revert "check for unnecessary DLLPUBLIC annotations"Stephan Bergmann4-4/+4
This reverts commit a599eeab786ecbe1b5b6509e3c792e5c1ba31248, plus follow-up fa4431449d0306e8179f53a2a69c549800bd24bd "Avoid bogus loplugin:dllmacro 'unnecessary *DLLPUBLIC declaration ...'". See (abandoned) <https://gerrit.libreoffice.org/#/c/42983/> "loplugin:dllmacro: Handle implicit member functions" how this would have needed to be extended to give consistent results across Linux and macOS, but then would have started to remove DLLPUBLIC from entities that apparently need to at least have default type visibility on macOS and started to make tests fail.
2017-09-29check for unnecessary DLLPUBLIC annotationsNoel Grandin4-4/+4
on classes which are fully defined in a header file Rename the dllprivate plugin to dllmacro and add the functionality there. Change-Id: I4581d551c46a8f61213d95973f323359d08278d8
2017-09-26Rename the basegfx::tools namespace to basegfx::utilsTor Lillqvist22-59/+59
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: https://gerrit.libreoffice.org/42644 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tor Lillqvist <tml@collabora.com>
2017-09-15borderline: Preparing further to use CellCoordinateSystemArmin Le Grand1-0/+9
Multiple cleanups, made svx::frame::Style a std::shared_ptr class, preparing basing all border stuff on transformations, so it will need a CellCoordinateSystem. Added stuff to get this Coordinate System from the svx::frame::Cell using the Frame and knowledge about ownerships Change-Id: Ic2cb59cc92e648ac2fef72f22f8913479769d3e2
2017-08-19Removed ignored includesAndrea Gelmini1-45/+0
By brute force analysis, it seems to me that we can easily remove these not used includes. It passed "make check install" Change-Id: I34ea2aae57e56fb8b2cf1066cf51b08068fa0b53 Reviewed-on: https://gerrit.libreoffice.org/41312 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2017-08-17remove UL/L suffixes from integer constants on the RHS of expressionsNoel Grandin2-5/+5
Change-Id: I899a8126c9d971601fea6c77eca165718aea0ac5 Reviewed-on: https://gerrit.libreoffice.org/41237 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-06-02fix comment: B2DVector::angle ranges from -pi to +piJochen Nitschke1-1/+1
Change-Id: I53f9bad932c0d389081575a0c99f1d86a872ea54 Reviewed-on: https://gerrit.libreoffice.org/38334 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-04-28Printing of some more basegfx typesStephan Bergmann2-0/+29
...as will be needed by some upcoming replacements of CPPUNIT_ASSERT with CPPUNIT_ASSERT_EQUAL Change-Id: I24ede3cc287bcc3b5e73eb400e4044c469657659
2017-04-28Make some basegfx operator << found by ADLStephan Bergmann5-54/+54
...as will be needed by some upcoming replacements of CPPUNIT_ASSERT with CPPUNIT_ASSERT_EQUAL Change-Id: I7c861f1cb81de4540e88d89dbf095acc61a56503
2017-04-25tools: svstream.hxx needs only errcode.hxx & not errinf.hxxChris Sherlock2-0/+2
Change-Id: Ia28e35ae5af4f601e9a586a3deffbcd61702b0ca Reviewed-on: https://gerrit.libreoffice.org/36896 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2017-03-25Fix typosAndrea Gelmini1-1/+1
Change-Id: I389542e18fcf71011f22919743b5280779f449fd Reviewed-on: https://gerrit.libreoffice.org/35632 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-03-03Fix typosAndrea Gelmini1-1/+1
Change-Id: I95fc63af11c336cde9f5bef908e1389c2fb56f02 Reviewed-on: https://gerrit.libreoffice.org/34823 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-03Fix typosAndrea Gelmini1-1/+1
Change-Id: I5e3c9683741ddc66283008c20794be5c2b2bc53f Reviewed-on: https://gerrit.libreoffice.org/34804 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-01ofz: timeout loading emf with move clip recordCaolán McNamara2-0/+6
Change-Id: Id5d60f0037873598e1447b063e66e9c29840587c Reviewed-on: https://gerrit.libreoffice.org/34740 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-02-06Add missing #includesStephan Bergmann1-0/+1
...and remove some unncessary using directives/declarations, in preparation of removing now-unnecessary #includes from cppumaker-generated files, post e57ca02849c3d87142ff5ff9099a212e72b8139c "Remove dynamic exception specifications". Change-Id: Iaf1f268871e2ee1d1c76cf90f03557527ebc9067
2017-01-31more SAL_WARN_UNUSEDNoel Grandin5-5/+5
Change-Id: Idf44fe0302b4504c443f083e527b63b2461ada85
2017-01-27improve "unnecessary user-declared destructor" checkNoel Grandin2-8/+0
to look for inline&empty destructors, where we can just let the compiler do it's thing Change-Id: Ibde8800bdfed6b77649c30ebc19921167c33dec3 Reviewed-on: https://gerrit.libreoffice.org/32999 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-26Remove dynamic exception specificationsStephan Bergmann2-20/+19
...(for now, from LIBO_INTERNAL_CODE only). See the mail thread starting at <https://lists.freedesktop.org/archives/libreoffice/2017-January/076665.html> "Dynamic Exception Specifications" for details. Most changes have been done automatically by the rewriting loplugin:dynexcspec (after enabling the rewriting mode, to be committed shortly). The way it only removes exception specs from declarations if it also sees a definition, it identified some dead declarations-w/o-definitions (that have been removed manually) and some cases where a definition appeared in multiple include files (which have also been cleaned up manually). There's also been cases of macro paramters (that were used to abstract over exception specs) that have become unused now (and been removed). Furthermore, some code needed to be cleaned up manually (avmedia/source/quicktime/ and connectivity/source/drivers/kab/), as I had no configurations available that would actually build that code. Missing @throws documentation has not been applied in such manual clean-up. Change-Id: I3408691256c9b0c12bc5332de976743626e13960 Reviewed-on: https://gerrit.libreoffice.org/33574 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-01-24loplugin: unnecessary destructor: basctl..codemakerNoel Grandin3-9/+0
Change-Id: Iadcfa9bc4fe9efb8d24d6d6afaf2b9b3def0bc3c Reviewed-on: https://gerrit.libreoffice.org/33452 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-23new loplugin useuniqueptrNoel Grandin2-6/+4
Change-Id: Ic7a8b32887c968d86568e4cfad7ddd1f4da7c73f Reviewed-on: https://gerrit.libreoffice.org/33339 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-01-19New loplugin:dynexcspec: Add @throws documentation, basegfxStephan Bergmann1-1/+1
Change-Id: I83cd12d9eb2d65ec5ff903b7536f28b2a0ae3c69
2017-01-07default copy ctor and assignment operator are good enoughCaolán McNamara2-32/+0
and block default move equivalents Change-Id: Ib8a1050803446c2e099f66602fae0465bd8165cf
2017-01-07coverity#1398371 Useless callCaolán McNamara1-4/+0
Change-Id: I3614bb162cec889ee102e0284b6a3a33a98df470
2017-01-03default copy ctor and assignment operator are good enoughCaolán McNamara8-128/+0
and block default move equivalents Change-Id: I360860512d2c88f8688685f4e751ded6335549da Reviewed-on: https://gerrit.libreoffice.org/32656 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-12-07tdf#88206 replace cppu::WeakImplHelper* miscJochen Nitschke1-2/+2
also edited two examples in canvas comments Change-Id: Iac82b462168f869f995c33bb2c639f3dbe09cbd5 Reviewed-on: https://gerrit.libreoffice.org/31715 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-12-06cleanup unused includes (related to tdf#88206)Jochen Nitschke1-1/+0
cppuhelper/compbase*.hxx and cppuhelper/implbase*.hxx compbase*.hxx includes implbase*.hxx replace compbase*.hxx if only implbase*.hxx stuff is used. Change-Id: I631a20aee411c6a32ffcf470f6e392621755f995 Reviewed-on: https://gerrit.libreoffice.org/31686 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-23Fix typosAndrea Gelmini1-1/+1
Change-Id: Ib7b17f85c7b6a1937c3f6e1617ceec58074643b4 Reviewed-on: https://gerrit.libreoffice.org/30040 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org> Tested-by: jan iversen <jani@documentfoundation.org>
2016-10-18loplugin:unusedmethodsNoel Grandin2-11/+0
Change-Id: Icf773925c37dde8b7404edac9864e7b10fe113b4 Reviewed-on: https://gerrit.libreoffice.org/29968 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-11loplugin:constantfunctionNoel Grandin1-6/+0
update the plugin similarly to commit 3ee3b36ae0c064fb5c81268d8d63444309d1b970 Author: Stephan Bergmann <sbergman@redhat.com> Date: Fri Oct 7 12:05:49 2016 +0200 loplugin:staticmethods: Don't be fooled by decls starting with macros Change-Id: I98ac3216d5acf89a49a26feb089ae2fd34e6e510 Reviewed-on: https://gerrit.libreoffice.org/29665 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-23coverity#1371281 Missing move assignment operatorCaolán McNamara1-0/+2
Change-Id: I7d0351931b0baa434bd24db05358e096cfa1b6e2
2016-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann1-8/+8
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark overriding destructors as 'virtual'" appears to no longer be a problem with MSVC 2013. (The little change in the rewriting code of compilerplugins/clang/override.cxx was necessary to prevent an endless loop when adding "override" to OOO_DLLPUBLIC_CHARTTOOLS virtual ~CloseableLifeTimeManager(); in chart2/source/inc/LifeTime.hxx, getting stuck in the leading OOO_DLLPUBLIC_CHARTTOOLS macro. Can't remember what that isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.) Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
2016-09-13Remove nonsense comments: // bitfieldTor Lillqvist3-5/+0
Surely the actual bitfield syntax is enough to tell the code reader that it is a bitfield. Change-Id: Ic9552e01b19c8b34b2a17db56b9ff63e7c7de926
2016-08-29cid#1371223 Missing move assignment operatorNoel Grandin3-0/+6
and cid#1371216, cid#1371179 Change-Id: I64faaada85cc92a8b47c2a665488f07050be6fc3
2016-08-25cid#1371276 Missing move assignment operatorNoel Grandin1-0/+2
also cid#1371234, cid#1371249, cid#1371208, cid#1371250, cid#1371258, cid#1371266, cid#1371257, cid#1371221 Change-Id: I18d952887b684e1999d003cec0f668789c851b52
2016-08-25cid#1371281 Missing move assignment operatorNoel Grandin1-0/+2
Change-Id: I29e1b042d2550bbe909ea432b161bdcb418d8976
2016-08-25cid#1371285 Missing move assignment operatorNoel Grandin1-0/+2
Change-Id: Ia822a01caec28f8137e30c05b6904c9fac367ce4
2016-08-25new loplugin: countusersofdefaultparamsNoel Grandin6-22/+22
Change-Id: I79e2c690f3e664c14af12cf763dd5a8ac20d6b04 Reviewed-on: https://gerrit.libreoffice.org/28353 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-07-25basegfx: initializer_list from polygonTomaž Vajngerl1-0/+2
Change-Id: I2d6cdb7189217e1fadb1ecf4e11cf4dd04043ec6 Reviewed-on: https://gerrit.libreoffice.org/27475 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2016-07-07tdf#50613 speedup fat line drawing on linux using cairoArmin Le Grand1-0/+7
Drawing fat lines is slow on linux due to X11 having no direct support for it. This leads to creating the PolyPolygon geometry for each fat line, then tesselate and draw as trapezoids. This is not buffered in any way and is done at each paint. As a side effect, fat lines composed of multiple anti-aliased lines also show errors since AA-ed edges do not add up graphically. Since we have cairo now available it makes sense to use it for fat line drawing, it is markedly faster despite being a software renderer. No such gains for PolyPolygons though. Change-Id: If4001556e2dd4c15ecf2587cad6ce1e864558f2d
2016-06-03loplugin:constantparamsNoel Grandin1-1/+1
Change-Id: Ib162ba9297b9d900ea42c7e5216e152d3e58a361 Reviewed-on: https://gerrit.libreoffice.org/25769 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-17tdf#99130 use subdivision on B2DPolygon, angle based subdivisionTomaž Vajngerl1-5/+0
Remove the subdivider we used until now as there is a better way to subdivide a polygon with getDefaultAdaptiveSubdivision, which in additiona also caches the result. The subdivider used in getDefaultAdaptiveSubdivision was a limited count based subdivider so this exchanges that with an angle based one which gives much better results. Change-Id: I95c009ccf3d54305df0d8eef177cab0df0a23bea Reviewed-on: https://gerrit.libreoffice.org/25033 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2016-05-06Refactor 3D renderer to use multithreadingArmin Le Grand3-3/+3
This try uses full 3D renderers working on the same ZBuffer target, but are capable to render one stripe per thread. This is rougher in granularity and uses multiple cores better than the first try (see gerrit 24393) which was too fine-granular being based on scanline render parallelization. SecUred some more classes based on SdrPrimitive3D for multi- theaded usage (places where local buffered stuff is done) Change-Id: I4ddd5885ad41dd6432d0695e528818a86e427bfd Reviewed-on: https://gerrit.libreoffice.org/24538 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2016-04-13loplugin:passstuffbyref in basegfxNoel Grandin2-5/+5
Change-Id: Ia7fc22152af2facf3134d9e0975cfb9608b2e931