summaryrefslogtreecommitdiffstats
path: root/include/basegfx
Commit message (Collapse)AuthorAgeFilesLines
* make some classes module-privateNoel Grandin2019-11-151-1/+1
| | | | | | | Change-Id: I95845d7217fc5e77e3f8e205030e9cd761ad0cc5 Reviewed-on: https://gerrit.libreoffice.org/82116 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* cid#1455328 initialize variables to 0.0 in LinearGradientInfoTomaž Vajngerl2019-11-101-0/+4
| | | | | | | Change-Id: I7232f5406ca019fa0634a7b6a69536c87ba46430 Reviewed-on: https://gerrit.libreoffice.org/82380 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
* Removed duplicated includeAndrea Gelmini2019-11-081-1/+0
| | | | | | | Change-Id: Ic1a492d7520753baa7092e30e8f37f7f024908ed Reviewed-on: https://gerrit.libreoffice.org/82318 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
* widget theme: Gradient support when drawing widgetsTomaž Vajngerl2019-11-081-0/+46
| | | | | | | Change-Id: I29239348e36e4963d9708a22ac649b2b1d68bf02 Reviewed-on: https://gerrit.libreoffice.org/82207 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
* Cleanup copypasteMike Kaganski2019-11-031-47/+0
| | | | | | | Change-Id: I9b2ed3d806868689cf9f573ca5e841e3d35e644e Reviewed-on: https://gerrit.libreoffice.org/81957 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
* loplugin:finalclasses in avmedia..basicNoel Grandin2019-10-282-9/+9
| | | | | | | Change-Id: Ia54364237149fac38e6ebcc5fcf9933d0ccf5984 Reviewed-on: https://gerrit.libreoffice.org/81619 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* basegfx: warn on unused B2DVectorMiklos Vajna2019-10-101-1/+1
| | | | | | | | | | This is similar to tools::Rectangle, doesn't do anything useful in its destructor. Change-Id: I761801a0cf6979e6611f4341b41445cb05d8925b Reviewed-on: https://gerrit.libreoffice.org/80566 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
* constmethod for accessor-type methodsNoel Grandin2019-09-291-1/+1
| | | | | | | | | | | Apply the constmethod plugin, but only to accessor-type methods, e.g. IsFoo(), GetBar(), etc, where we can be sure of that constifying is a reasonable thing to do. Change-Id: Ibc97f5f359a0992dd1ce2d66f0189f8a0a43d98a Reviewed-on: https://gerrit.libreoffice.org/74269 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* loplugin:virtualdead in basegfxNoel Grandin2019-09-281-6/+0
| | | | | | | Change-Id: I8b3f7810eb08b5217df30b7be27aafadeeed247a Reviewed-on: https://gerrit.libreoffice.org/79647 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* Fix typosAndrea Gelmini2019-08-021-1/+1
| | | | | | | Change-Id: Ic7b6014e09e3ee1a1b4917008a267b8fa2dbc1f5 Reviewed-on: https://gerrit.libreoffice.org/76814 Tested-by: Jenkins Reviewed-by: Andrea Gelmini <andrea.gelmini@gelma.net>
* Improve the looks of a wave line by draw it with bezier curvesTomaž Vajngerl2019-07-011-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | This adds drawing the wave line (typically used to underline the wrongly spelled words) with bezier curves. Previously the wave lines were drawn with drawing pixels, which didn't look that good, especially on HiDPI display, so the looks of wave lines now is therefor much better. The creation of the wave line as a polygon has been added to the basegfx module, so it can be reused if needed. In addition, everytime we draw the waveline, we have to enable antialiasing, to have a much better quality of the curves. By default the antialiasing is disabled for some reason. This also adds ScopedStates.hxx file which currently includes ScopedAntialiasing, which sets the antialiasing to a certain state for the time the object is in scope, and then sets it back to the original state. Change-Id: I4b866fc5d69725eb7f6f78a1acf4176b1205aa73 Reviewed-on: https://gerrit.libreoffice.org/74810 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
* Fix typoAndrea Gelmini2019-06-291-1/+1
| | | | | | | Change-Id: I7e8512e99f739a8883a97f908d8499a0e0abb5a8 Reviewed-on: https://gerrit.libreoffice.org/74877 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
* Fix typoAndrea Gelmini2019-06-291-1/+1
| | | | | | | Change-Id: If0e4c56344d9ef2cf20999fa977faeaf62fa449b Reviewed-on: https://gerrit.libreoffice.org/74874 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
* Fix typoAndrea Gelmini2019-06-291-1/+1
| | | | | | | Change-Id: I78960aa25372e755cb99f4c59dd69fbd6dcc3098 Reviewed-on: https://gerrit.libreoffice.org/74869 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
* Fix typoAndrea Gelmini2019-06-291-1/+1
| | | | | | | Change-Id: I272af08184af325933ef1549ad69f1df06793177 Reviewed-on: https://gerrit.libreoffice.org/74867 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
* add appendQuadraticBezierSegment to B2DPolygonTomaž Vajngerl2019-06-281-1/+8
| | | | | | | | | | | | | This adds a convenience method to B2DPolygon to add a quadratic bezier segment, which converts its one control point to two control points of a cubic bezier segment. The SVG path import is also modified to use this new method instead of converting inside the importer itself. Change-Id: I96e9b306066d9ccf2542b17a117db01fa235f405 Reviewed-on: https://gerrit.libreoffice.org/74809 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
* Fix typoAndrea Gelmini2019-06-261-1/+1
| | | | | | | Change-Id: Ia464eda79186aa60339def67fb2b3d399d6a916a Reviewed-on: https://gerrit.libreoffice.org/74765 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
* Fix typoAndrea Gelmini2019-06-261-1/+1
| | | | | | | Change-Id: I7cc008f709c8072681e216bbffd7ca68b4f86ba5 Reviewed-on: https://gerrit.libreoffice.org/74761 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
* Fix typoAndrea Gelmini2019-06-261-2/+2
| | | | | | | Change-Id: I6297124f6a3ae7bc73d6a29195152e63fa7c78e5 Reviewed-on: https://gerrit.libreoffice.org/74762 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
* tdf#42949 Fix IWYU warnings in include/Gabor Kelemen2019-06-212-1/+5
| | | | | | | | | | | | | | | Recheck directories under include/ and below vcl in the module hierarchy. New IWYU and recent developments in f-u-i helped to identify some non self contained files, those were fixed too. Also some new removal proposals are dealt with here. Change-Id: If12ae37602eecdf3004ae0fa6623d464077d4f9f Reviewed-on: https://gerrit.libreoffice.org/74213 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
* Revert "drawinglayer: avoid AA for hairline polygons built from ...Miklos Vajna2019-05-141-3/+0
| | | | | | | | | | | | | | | | | .. hori/vert lines only" This reverts commit f8b4d371eddd27594d549fb00294c01229a9bd24. Tomaz considers this ugly and it's no longer needed since commit 93abdf39b01bb7b404dc09ef37369a4350fb0d10 (sw lok: assume no windows in SwLayoutFrame::PaintSwFrame(), 2019-05-14). Conflicts: basegfx/test/B2DPolygonTest.cxx Change-Id: Ia9b29921ff3e5d82085e1abf9f39c172357a5e13 Reviewed-on: https://gerrit.libreoffice.org/72297 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
* drawinglayer: avoid AA for hairline polygons built from hori/vert lines onlyMiklos Vajna2019-05-091-0/+3
| | | | | | | | | | | | | | | | | | | For one, it seems this was the intention already since commit 85c70f37b56299f6fa02312c0fb73cc55af084ef (CWS-TOOLING: integrate CWS aw063, 2009-03-04): "suppress AntiAliasing for pure horizontal or vertical lines". For another, this fixes the TileCacheTests::testTileWireIDHandling() testcase in online.git, which assumes that the indicators at the corners of the Writer body frame (paragraph marks hidden / default case) can be painted multiple times, producing pixel-by-pixel matching results. But in reality AA breaks that assumption, and we know these indicators are never diagonal lines. Change-Id: Ib74f823165799991296b64cee58ec106dbdcedcf Reviewed-on: https://gerrit.libreoffice.org/72000 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
* support opacity for widget definition draw SVGsTomaž Vajngerl2019-04-051-0/+4
| | | | | | | | | This opacity influences the whole shape (stroke and fill). Change-Id: I82e10e07dbf2f321805b55a5f4831a513e52dab8 Reviewed-on: https://gerrit.libreoffice.org/70292 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
* parse more attributes in SvgDrawVisitorTomaž Vajngerl2019-03-061-0/+14
| | | | | | | | | | | | - add additional parameters for DrawRectangle, DrawPath - parse stroke width, stroke and fill color for path and rect - parse rx, ry for rect - use getCurrentViewPort for top-level SVG rectangle Change-Id: Ife498bdaa721852ef2542ac5df2be0e86dfb4e62 Reviewed-on: https://gerrit.libreoffice.org/68785 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
* use gfx namespace for DrawCommandsTomaž Vajngerl2019-03-061-0/+11
| | | | | | | Change-Id: Ib2d97c4fee4e1bb433beeba4fb507fdc7d542af9 Reviewed-on: https://gerrit.libreoffice.org/68775 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
* svgio visitor, add draw commands and create the from svgTomaž Vajngerl2019-03-061-0/+74
| | | | | | | | | | | | | | | | Adds a visitor for svgio for visiting svg nodes and create something useful from them. Basic draw commands - a tree of draw commands (with sub-pixel precision support) just to store a simple definition for drawing. Adds a svg draw visitor and create draw commands from the svg structure and expose the commands through UNO API. Change-Id: I073e891a2cffdd76d4e3b838590e3a19c998e9bf Reviewed-on: https://gerrit.libreoffice.org/68770 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
* loplugin:unusedfields look for classes where we can make all the..Noel Grandin2019-02-271-1/+1
| | | | | | | | | fields private Change-Id: Id3c6b123f06ab5dcf87628de4c347626110d2d27 Reviewed-on: https://gerrit.libreoffice.org/68302 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* loplugin:indentation in basctl..bridgesNoel Grandin2019-02-081-8/+10
| | | | | | | Change-Id: Ie4e27466c4258c6f774a3ebb82ec3a88c28fd753 Reviewed-on: https://gerrit.libreoffice.org/67525 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* Drop o3tl/clamp.hxx, use C++17 std::clamp insteadStephan Bergmann2019-01-111-5/+4
| | | | | | | Change-Id: I5043c787dcc3b78bc7fdff130564801194e39f46 Reviewed-on: https://gerrit.libreoffice.org/66177 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* EmptyBPixel is unusedStephan Bergmann2019-01-101-1/+1
| | | | | | | | | | | | | | | | | ...since b62826ad3887305a76ee1ceabe2060f9d6e8723f "Remove more unused methods" BPixel was marked BASEGFX_DLLPUBLIC, but all its member functions are defined inline in include/basegfx/pixel/bpixel.hxx, and basegfx/source/pixel/bpixel.cxx was the only .cxx from Library_basegfx that included it. So on Windows, non- inline implementations of the BPixel member functions are no longer exported from Library_basegfx, even though code in drawinglayer using BPixel expects that (and would thus start to fail to link on Windows). So just not mark that all- inline BPixel class as DLLPUBLIC. Change-Id: I7553a7ac5a57b5d175d7c81b3908ad7b80b064c3 Reviewed-on: https://gerrit.libreoffice.org/66043 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* tdf#121305 Increase accuracy of custom shape circleRegina Henschel2018-11-161-3/+6
| | | | | | | | | | | | | | The old implementation has used 4 segments and a questionable control point distance. The patch changes this to use the common implementation in basegfx. The method in basegfx is extended to allow to set the start quarter, so that the custom shape circle can get the same start quarter as it has before. The method descriptions in basegfx are adapted to the current implementation. Change-Id: I3a40f81827227ee0037d336bdf3c1ec6fdd64b4b Reviewed-on: https://gerrit.libreoffice.org/63366 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
* tdf#42949 Fix IWYU warnings in include/basegfx/*Gabor Kelemen2018-10-1535-67/+39
| | | | | | | | | | Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Ifd59a5d93cfe7dc232891a681002014cd825035a Reviewed-on: https://gerrit.libreoffice.org/61546 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
* Fix typosAndrea Gelmini2018-10-071-1/+1
| | | | | | | Change-Id: Ia26896cbcd8912f7cad641ea2ecf14c4ddf2d741 Reviewed-on: https://gerrit.libreoffice.org/61489 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
* Support estimateUsageInBytes for SystemDependentDataArmin Le Grand2018-10-061-0/+12
| | | | | | | Change-Id: I6074035ed8f90e452915e9ecffdbe9363375e126 Reviewed-on: https://gerrit.libreoffice.org/61306 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
* Support buffering SystemDependent GraphicDataArmin Le Grand2018-09-211-8/+12
| | | | | | | | | | | | | | | | | | Started to make the buffering more flexible by adding virtual methods virtual sal_uInt32 getHoldCyclesInSeconds() const; virtual sal_Int64 estimateUsageInBytes() const; to class SystemDependentData. This will allow to add more sensitive buffering/caching. Also fine-tuned Linux-derived classes actively used for buffering to be more sensitive when and where to reuse the buffered data Change-Id: Ifc69c318ade0209aff071d76001869d9f4eeb10d Reviewed-on: https://gerrit.libreoffice.org/60881 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
* Fix typoAndrea Gelmini2018-09-211-1/+1
| | | | | | | Change-Id: If90ef416e1ed757fede52c33f2e191930be35809 Reviewed-on: https://gerrit.libreoffice.org/60851 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
* Support buffering SystemDependent GraphicData (III)Armin Le Grand2018-09-203-5/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change is for speedup of fat line drawing when using X11. This is a long-term problem which never really progressed, but is avoided using Cairo in the future. Still - if used, speedup using current state and buffering possibilities. Two speedup steps will be used: (1) The tesselation is no longer done using trapezoids. That works (but was done wrong leaving artifacts) but is not fast and done every time. It is even not done with FatLines and more than 1000 points. New version will use triangulation. Dspite using the existing triangulator (that works but is slow) extend the FatLine geometry creator to directly create triangles. This is also necessary since for buffering that data a transformation-invariant version is needed (in device coordinates the data changes all the time when scrolling). Trapezoids are by definition *not* transformation-invariant (e.g. rotation) (2) Buffer that triangulation - with the needed care and watch. It is e.g. necessary to react on 'hairlines' since these change their logical LineWidth view-dependent (zoom). In those cases, the buffered data *has* to be removed due to the base for buffering is the created FatLine geometry based on one stable logical LineWidth Also took the time to adapt B2DPolygonTriangulator to use an own data type (B2DTriangle) and a vector of these for better understandability and security. Adapted all usages as needed. Change-Id: Iedb2932b094a8786fd9c32d0d0ab1ca603a1a7b2 Reviewed-on: https://gerrit.libreoffice.org/60818 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
* Support buffering SystemDependent GraphicData (II)Armin Le Grand2018-09-131-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this step I have changed all calls that use a B2DPolyPolygon and do filled graphics, added support for providing needed transformation which will -if supported- be used. Added buffering of SystemDependentData at B2DPolyPolygon for that purpose, see comments describing the current possibilities in the Gdiplus implementation. Moved lifetime creation/cleanup of SystemDependentDataManager to ImplSVData due to cleanup problems in the clang build Tried to use a std::unique_ptr to hold the instance of a SystemDependentDataBuffer at ImplSVData and cleanup inside DeInitVCL() right before ::ImplDeInitScheduler. This works in principle, but scheduler shutdown triggers ProcessEventsToIdle which leads to repaints and re-creates the buffer. Will now do exactly as was done with GdiPlusBuffer before, a simple local static incarnation and a call to SetStatic() in constructor Splitted SystemDependentDataBuffer and Timer due to different LifeTimes. Timer needs to be destructed earlier than SystemDependentDataBuffer, before Scheduler::ImplDeInitScheduler() is called from DeInitVCL() Change-Id: I2134e4346a183a4cee1be3428c51541cc8867c11 Reviewed-on: https://gerrit.libreoffice.org/60102 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
* Removed execution flag on source filesAndrea Gelmini2018-09-011-0/+0
| | | | | | | Change-Id: Iec140c37e437ce0b49f07b393498f0804e5b46d8 Reviewed-on: https://gerrit.libreoffice.org/59846 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
* Fix typosAndrea Gelmini2018-09-011-2/+2
| | | | | | | Change-Id: I3da548adbbd8b24fe79779bdd8de70bdf7244035 Reviewed-on: https://gerrit.libreoffice.org/59845 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
* Support buffering SystemDependent GraphicDataArmin Le Grand2018-08-302-0/+163
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a first step to allow buffering of system dependent data, especially (but not only) for the system-dependent implementations of graphic output. For example, for B2DPolygon and Win output, it allows buffering the Gdiplus::GraphicsPath instead of re- creating it all the time. To support that, the change includes forwarding the current transformation to the renderers in SalGraphics. The current state in VCL is to transform all and everything to device coordinates at every single paint. I have currently started to do this for ::drawPolyLine implementations. The fallbacks for all systems will at the start of that method just transform the data to device coordinates, so all works as before. This may also be done for FilledPolygon paint in a later step, but most urgent is FatLine painting. An arrangement of shared_ptr/weak_ptr is used so that either the instance buffering (in the example B2DPolygon) or the instance managing it can delete it. The instance managing it currently uses a 1s Timer and a cycle-lifetime management, but that can be extended in the future to e.g. include size hints, too. The mechanism it designed to support multiple Data per buffering element, e.g. for B2DPolygon at the same time system-dependent instances of Gdiplus and Cairo can be buffered, but also PDF-data. This is achieved semi-automatic by using typeid(class).hash_code() as key for organization. The mechanism will be used for now at B2DPolygon, but is not limited to. There is already a similar but less general buffer (see GdiPlusBuffer) that can and will be converted to use this new mechanism. Added vcl/headless Cairo renderer to support given ObjectToDevice transformation (not to transform given B2DPolygon) Added support for CairoPath buffered at B2DPolygon, seems to work well. Need to do more tests Moved usage to templates suggested by Noel Grandin (Noel Grandin <noelgrandin@gmail.com>), thanks for these suggestions. Adapted Win usage to that, too. Converted Win-specific GdiPlus BitmapBuffer to new mechanism, works well. Checked, the manager holds now a mix of bitmap and path data under Win Added a cleanup mechanism to flush all buffered data at DeInitVCL() using flushAll() at SystemDependentDataBuffer Adapted Linux-versions of ::drawPolyLine to support PixelSnapHairline, for now in a simplified version that still allows buffering. This will also be used (and use buffering) for the Cairo-fallback in X11SalGraphics Change-Id: I88d7e438a20b96ddab7707050893bdd590c098c7 Reviewed-on: https://gerrit.libreoffice.org/59555 Tested-by: Armin Le Grand <Armin.Le.Grand@cib.de> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
* Consolidate: basegfx::clamp -> o3tl::clampStephan Bergmann2018-08-172-21/+4
| | | | | | | Change-Id: Iffd8b0a19d4479b6c70dc834c6f64499e87e01b1 Reviewed-on: https://gerrit.libreoffice.org/59265 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* tdf#118825 Implement OOXMLMotionPath in exportToSvgD of basegfx.Mark Hung2018-08-141-1/+8
| | | | | | | | | | | | Powerpoint only allows M,L,C,Z,E,m,l,c,z,e , i.e. V,H,S ( and their corresponding relative command ) must not be used and ending E is mandatory. Command and space delimiters also can not be skipped. Change-Id: Icad38ec2eed3e49143eb9a03aa56cc178baae99d Reviewed-on: https://gerrit.libreoffice.org/58848 Tested-by: Jenkins Reviewed-by: Mark Hung <marklh9@gmail.com>
* Fix typosAndrea Gelmini2018-08-131-1/+1
| | | | | | | Change-Id: Ie3baa2f843a98c1edc523050db53beaa2c803394 Reviewed-on: https://gerrit.libreoffice.org/58801 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Jenkins
* Use more basegfx deg<->rad functions, instead of direct formulasMike Kaganski2018-08-042-4/+4
| | | | | | | | | | | | | | | Also make the functions constexpr. Due to slight changes in floating-point arithmetics (90.0 instead of 180.0, M_PI2 instead of M_PI resp.), results might differ in last digits (usually 17th decimal digit). This has lead to need to tweak char2dump's PieChartTest unit test. Change-Id: I20323dd7dab27e4deb408ea4181e390cc05e7cd3 Reviewed-on: https://gerrit.libreoffice.org/58583 Tested-by: Jenkins Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
* basegfx: avoid -Werror=deprecated-copy (GCC trunk towards GCC 9)Stephan Bergmann2018-07-262-18/+0
| | | | | | | | | | | ...by removing explicitly user-provided functions that do the same as their implicitly-defined counterparts, but may prevent implicitly declared copy functions from being defined as non-deleted in the future Change-Id: I88d3024ddfa51fc32de71af50cdfadb16ff93ffd Reviewed-on: https://gerrit.libreoffice.org/58066 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
* loplugin:mergeclasses merge BPixelRaster into BZPixelRasterNoel Grandin2018-07-162-97/+41
| | | | | | | Change-Id: Ib6f7bfd2392daa5512d5fa68b69428ae9c8876f9 Reviewed-on: https://gerrit.libreoffice.org/57488 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* tdf106792 Get rid of SvxShapePolyPolygonBezierArmin Le Grand2018-07-021-38/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SvxShapePolyPolygonBezier was an implementation for the UNO Shape group of polygons with bezier parts (filled/unfilled/ closed/open), e.g. com.sun.star.drawing.OpenBezierShape. It was differing from SvxShapePolyPolygon just by supporting drawing::PolyPolygonBezierCoords instead of the simple drawing::PointSequenceSequence and some details. This leads to problems - the ShapeType *does change* e.g. when you edit a non-bezier Shape in Draw/Impress and change parts to curve (also when closing, see ShapeTypes above). This is why SvxShape::getShapeType() already detects this identifier by using thze internal ShapePolyType (e.g. OBJ_PATHLINE). So there is no reason to have two separate UNO API imple- mentations for sthe same type of SvxShape at all. Get rid of the extra one and unify this implementation detail. Also cleaned up double basegfx tooling for conversions of UNO API Poly/bezier data and B2DPolygon. Adapted test for "tdf113946.docx", see comment there. Adapted test for "tdf90097.rtf", see comment there. Also needed to use the Linux values, also check comment there. Adapted test for "tdf105127.docx", see comment there. Adapted test for "tdf85232.docx", see comment there. Had to fic a problem with test for "tdf96674.docx"- the adaption of the RotateAngle for line objects goes havoc together with the UNO API when scaling is involved. That old aGeo rotate stuff just kills the existing rotation due to numerical inprecise stuff. The UNP API - in trying not just to apply a rptation, but manipulate the existing one then goes wrong in not re-getting the current rotation value anymore. ARGH! This is the original reason for the ols tdf#96674 task - i doubt that the additional code to make a line not exactly hor/ver is needed. Checked and it is not needed, thus removed the change from tdf#96674 in shape.cxx. Change-Id: I2bb8d4cfe33fee3671f3dad60e5c18609a394f9d Reviewed-on: https://gerrit.libreoffice.org/56614 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
* loplugin:passstuffbyrefNoel Grandin2018-05-252-5/+5
| | | | | | | Change-Id: I785e96599bbda029adf4698d11d7f981750dec07 Reviewed-on: https://gerrit.libreoffice.org/54802 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
* Fix typosAndrea Gelmini2018-05-051-1/+1
| | | | | | | Change-Id: I92078fdece135754744d85424956dbb071f3899e Reviewed-on: https://gerrit.libreoffice.org/53638 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>