summaryrefslogtreecommitdiff
path: root/drawinglayer
AgeCommit message (Collapse)AuthorFilesLines
2016-12-02coverity#1371200 Missing move assignment operatorCaolán McNamara1-12/+13
adjust things to not need one Change-Id: I1079f50d8813f86c4828be602687b4cbffe61415
2016-11-29loplugin:vclwidgets check for assigning from VclPt<T> to T*Noel Grandin1-3/+3
Inspired by a recent bug report where we were assigning the result of VclPtr<T>::Create to a raw pointer. As a consequence, we also need to change various methods that were returning newly created Window subclasses via raw pointer, to instead return those via VclPtr Change-Id: I8118e0195a5b2b4780e646cfb0e151692e54ae2b Reviewed-on: https://gerrit.libreoffice.org/31318 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-11update vclwidget loplugin to find ref-dropping assigmentNoel Grandin1-6/+3
Look for places where we are accidentally assigning a returned-by-value VclPtr<T> to a T*, which generally ends up in a use-after-free. Change-Id: I4f361eaca88820cdb7aa3b8340212db61580fdd9 Reviewed-on: https://gerrit.libreoffice.org/30749 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-09loplugin:expandablemethods in drawinglayer..editengNoel Grandin4-19/+11
Change-Id: Ic7fe13651e18b4eec90ef3fd8d7aab81197e0f39 Reviewed-on: https://gerrit.libreoffice.org/30707 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-09some small simplifications to decompose methodsNoel Grandin7-88/+77
Change-Id: I9ad8c68c1f0c72d0f985d6c0a3167a775d481a2c Reviewed-on: https://gerrit.libreoffice.org/30696 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-08typo fix: ressource -> resourceAndras Timar1-1/+1
Change-Id: Id8d1c01b17e711a057a9f3f20e1d0f955b2ea6c8 Reviewed-on: https://gerrit.libreoffice.org/30690 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Andras Timar <andras.timar@collabora.com>
2016-11-08reduce copying when decomposing drawinglayer primitivesNoel Grandin47-499/+294
instead of returning a Primitive2DContainer from each method which we are then going to immediately append to another container, pass down a single container by reference which we can append to Change-Id: I0f28a499d2ec54f7111a7044c30099767aa079e1 Reviewed-on: https://gerrit.libreoffice.org/30258 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-07vcl: improve accounting of SVG images in graphics cacheMichael Stahl4-0/+42
The problem is that the graphics cache only counts the size of the SVG text, which is stored in SvgData::maSvgDataArray. However the SvgData::maSequence may use a lot more memory, as it may contain de-compressed bitmaps that are stored as base64-encoded PNGs in the SVG text. For example icon-themes/galaxy/brand/flat_logo.svg is 812 Ko but contains 60 Mo of bitmaps. This may cause excessive memory usage and failure to export documents due to OOM; according to valgrind massif, the bitmap buffers use 90% of the heap. Add a new interface com::sun::star::util::XAccounting, and implement it in drawinglayer BasePrimitive2D. VCL SvgData can't access drawinglayer via C++ directly so this looks like the best approach. Change-Id: I5a7c3147733e23473c1decabed24c1f79d951c7d Reviewed-on: https://gerrit.libreoffice.org/30669 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-10-25tdf#96505 Get rid of cargo cult "long" integer literalsRosen1-1/+1
fixed all long integer literals in file Change-Id: Ib557d88d4e4f17d5c334c92d611d002fe163f2f6 Reviewed-on: https://gerrit.libreoffice.org/29235 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org>
2016-10-23loplugin:expandablemethodds in include/connectivity..drawinglayerNoel Grandin6-6/+6
Change-Id: Ic58f86422ef8f1e2bb655157850e214fc3a1a9b4 Reviewed-on: https://gerrit.libreoffice.org/30136 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-19loplugin:expandablemethodds in dbaccess..drawinglayerNoel Grandin2-4/+2
Change-Id: Iee9143999f5c94040dadd378006f2a429ca0edb5 Reviewed-on: https://gerrit.libreoffice.org/30012 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-13loplugin:unnecessaryoverrideNoel Grandin1-5/+0
Change-Id: I08c55a3023ec2e8990098eeb60e91cd18556e7ae Reviewed-on: https://gerrit.libreoffice.org/29656 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-11loplugin:constantfunctionNoel Grandin1-1/+1
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-10-05convert MapUnit to scoped enumNoel Grandin6-21/+21
I left a prefix on the names "Map" so that I would not have to re-arrange each name too much, since I can't start identifiers with digits like "100thMM" And remove RSC_EXTRAMAPUNIT, which doesn't seem to be doing anything anymore. Change-Id: I5187824aa87e30caf5357b51b5384b5ab919d224 Reviewed-on: https://gerrit.libreoffice.org/29096 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-10-01Fix typosAndrea Gelmini2-2/+2
Change-Id: I8374d6d08f4eb4ae2821e213371c615b92d7e9ab Reviewed-on: https://gerrit.libreoffice.org/29432 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-29Resolves: tdf#101433 reset RasterOpMode on cached virtual device before reuseCaolán McNamara1-0/+1
Change-Id: I178aa499b080b0b684d41fdd4115a6398f944c43
2016-09-16loplogin:singlevalfields in include/Noel Grandin2-6/+2
Change-Id: I27842162fcf82120ecb811ee8e89e187430931fc Reviewed-on: https://gerrit.libreoffice.org/28931 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann6-6/+6
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 Lillqvist12-13/+0
Surely the actual bitfield syntax is enough to tell the code reader that it is a bitfield. Change-Id: Ic9552e01b19c8b34b2a17db56b9ff63e7c7de926
2016-09-13loplugin:constantparam in dbaccess..editengNoel Grandin2-4/+2
Change-Id: I1d0dc3d89933d86cd229e503b350fccc1523dedc Reviewed-on: https://gerrit.libreoffice.org/28833 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-09-05convert GradientStyle to scoped enumNoel Grandin2-19/+19
Change-Id: Ib740da708612df7a5f4b8c82262b9b1bd436604d
2016-09-05convert HatchStyle to scoped enumNoel Grandin3-9/+9
Change-Id: Ibef51ae5ae135ae584791959ec3f7bf78c50e2a8
2016-09-05convert LineStyle to scoped enumNoel Grandin2-3/+3
Change-Id: I30cfa5a0649b806604c443f55683d1f2a430983d
2016-09-05convert RasterOp to scoped enumNoel Grandin3-10/+10
Change-Id: I136423c105316c9b5b18e64d04a248fd7ac5590b
2016-09-01convert RefDevMode to scoped enumNoel Grandin1-1/+1
and fix the bForceZeroExtleadBug TODO Change-Id: Iac9295c6ce31112d69a870e3a229823eb1e9a4f2
2016-08-25Missing operator definitionStephan Bergmann1-0/+6
Change-Id: I39d3b68ca317a4a259b77532efc0897fc89a6fe9
2016-08-25cid#1371276 Missing move assignment operatorNoel Grandin8-0/+88
also cid#1371234, cid#1371249, cid#1371208, cid#1371250, cid#1371258, cid#1371266, cid#1371257, cid#1371221 Change-Id: I18d952887b684e1999d003cec0f668789c851b52
2016-08-25cid#1371277 Missing move assignment operatorNoel Grandin1-0/+5
Change-Id: Ic737733f5951d5b21660a12a7a01202bd9bc303c
2016-08-25cid#1371284 Missing move assignment operatorNoel Grandin1-0/+11
Change-Id: I84d4cfe58f9659b468a1fd62b7974fcdbf0bb1f3
2016-08-25cid#1371288 Missing move assignment operatorNoel Grandin1-0/+11
Change-Id: I5181c76f558e1806de01f21422c715cc93f3cb3d
2016-08-25fix windows build, doesn't like default move methodsNoel Grandin2-4/+18
Change-Id: I6e756a11aa07722ff18ed13219b780f3db3bc4a0
2016-08-25fix move operator= and add move constructorsNoel Grandin2-14/+5
followup to: 19828cc0 "cid#1371315 Missing move assignment operator" and 0e748707 "cid#1371320 Missing move assignment operator" Change-Id: Id2479fef41cf8d98eef9246f3a86e6c9289c3d58
2016-08-25cid#1371309 Missing move assignment operatorNoel Grandin1-0/+11
Change-Id: Ic00f39793f0341820ccce912f4350644a90104c5
2016-08-25cid#1371315 Missing move assignment operatorNoel Grandin1-0/+6
Change-Id: I9da0ffe856a0a40094c1c553bb2c5e05d8d3ef5d
2016-08-03remove dead code in drawinglayerJochen Nitschke1-102/+29
static bools were probably used for debugging proposes and should not be in master introduced in commits: 9f6018ec1472d7e4f2f26b300d8c00b09fda1fe8 ddcf9b9ff2caaffcc59d250b2d7f50ca3ab20330 d45ddb6d03846b0c576eeee062342962aa131bc0 7a652a2b2ab5e0d37e32185c8c5fac3af482bb76 and 70e3eb2c1762fb1ca097cf671e3c7ce3d0dfd1b7 Change-Id: Ided2bf923696cd9fc537f1cb4fedd1a7d4b7c5cd Reviewed-on: https://gerrit.libreoffice.org/26880 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Jochen Nitschke <j.nitschke+logerrit@ok.de>
2016-07-22Resolves: tdf#101067 put SolarMutexGuard back in againCaolán McNamara1-0/+1
commit 4f27ff917237be96eec897d4af90a3379be904c6 Author: Tor Lillqvist <tml@iki.fi> Date: Mon Jul 29 18:24:23 2013 +0300 Avoid SolarMutex assertion in a dbgutil build when exiting Impress put in a SolarMutex in that ImpTimedRefDev dtor for what sounds like just this problem commit 9f0766917a4fb1bc8fe1786c3b46132dd63c1c66 Author: Armin Le Grand <Armin.Le.Grand@cib.de> Date: Fri Jul 1 14:40:00 2016 +0200 tdf#50613 add support to load charts asynchronously took it out again, to presumably move it into TextLayouterDevice but we destroy this thing asyncronously outside of TextLayouterDevice so lets put it back in again Change-Id: If801a701701a3d87fce2f76bc22bb3184b46743a
2016-07-18add tagging to ThreadTasks so we don't need more one poolNoel Grandin1-3/+6
If more than one place in the code submits tasks to the shared pool, then waitTillDone() becomes unreliable. Add a tagging mechanism, so different callsites can wait on different sets of tasks. Also try to protect our worker threads against exceptions from the thread tasks code. Change-Id: Idde664ab50008d31a2dd73910bb22f50e62ae22f Reviewed-on: https://gerrit.libreoffice.org/27042 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-07-15new loplugin unnecessary overrideNoel Grandin1-0/+1
Change-Id: I88d3e33823d68745b98625050a8a274f9ef04bcb Reviewed-on: https://gerrit.libreoffice.org/27135 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2016-07-07tdf#82214 optimize PatternFillPrimitive and SVGArmin Le Grand1-36/+37
Use buffering in the drawinglayer, and don't do slow stuff in the windows gdi renderer. Conflicts: svgio/source/svgreader/svgstyleattributes.cxx Change-Id: Id955ee6a3b03e568c2678f02d77af35d2e5ba1d4
2016-07-07tdf#82214 optimize performance for primitivesArmin Le Grand4-35/+253
See svg bug doc, which is processed quite slowly. Beyond needing faster renderers, there is also demand to improve the handling of primitives created by SVG import. Conflicts: drawinglayer/source/primitive2d/patternfillprimitive2d.cxx vcl/win/gdi/gdiimpl.cxx Change-Id: I10992a5746b8b2d6b50e3ee3fe415a035685c9ba
2016-07-07tdf#50613 add support to load charts asynchronouslyArmin Le Grand1-2/+2
Generating primitives for chart visualisation can be moved to a paralell executed task that loads the chart, thus speeding up initial visualization. This is not possible for e.g. PDF or print targets, only for edit visualization. On fallback, the replacement images of the charts are used which are metafiles and have less quality as primitives, but load quicker. Change-Id: I68caa9e1bec50832bce535b5f54633d53cdef037
2016-07-04comphelper::OBaseMutex -> cppu::BaseMutexNoel Grandin1-2/+2
convert usage of deprecated class, and remove the old class Change-Id: I19fb9271090d19e5531622b58492e1a848d306e2 Reviewed-on: https://gerrit.libreoffice.org/26843 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-07-04Fix some spelling errors in comments and stringsOtto Kekäläinen2-3/+3
Change-Id: Iecd6b5e13d6be14651f77d8e37f01117ba15a11e Reviewed-on: https://gerrit.libreoffice.org/26883 Reviewed-by: jan iversen <jani@documentfoundation.org> Tested-by: jan iversen <jani@documentfoundation.org>
2016-06-27loplugin:singlevalfields in drawinglayerNoel Grandin3-62/+29
Change-Id: I19f50b0afa624391bd0d8ada7afca822298e10cc Reviewed-on: https://gerrit.libreoffice.org/26655 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-13Give unique, comprehensible names to timers tdf#97087emahaldar/em1-1/+1
Change-Id: I9f2be193b995d43d4e3440e55a025629fe5bcaed Reviewed-on: https://gerrit.libreoffice.org/26222 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-10tdf#99519 Added more intelligent handling of animated GIFsArmin Le Grand2-139/+386
Isolated to a single Primitive2D class based on the AnimatedSwitch- Primitive2D which does the specializing in one place. Buffers small GIFs completely, handles 1st frame always buffered, huge GIFs get animated by just playing he next frame. To reach more with the current approach we would have to re-implement AnimatedGIF import, replay it internally on a sys-specific Surface and blit the current content (with alpha) to our display Change-Id: I46c3325fa7936df73bea9a9284a0421f1475a34b Reviewed-on: https://gerrit.libreoffice.org/26103 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-06-03Convert ComplexTextLayoutMode to scoped enumNoel Grandin2-9/+9
Change-Id: I257f8e15fec92f0701235a6fe4b6a2272498c4f1 Reviewed-on: https://gerrit.libreoffice.org/25667 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-03loplugin:constantparamsNoel Grandin2-9/+6
Change-Id: Ib162ba9297b9d900ea42c7e5216e152d3e58a361 Reviewed-on: https://gerrit.libreoffice.org/25769 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-01tdf#95581: Assume tiny shears are rounding artefacts etc and can be ignoredTor Lillqvist1-1/+4
See bug report for more discussion. Change-Id: I50ee82abac4ddfbdca0fb03d17c0518860466a52
2016-05-31teach refcounting clang plugin about uno::ReferenceNoel Grandin1-7/+7
uno::Reference is only allowed to used with classes that have a ::static_type member. So convert all those places to rtl::Reference. Maybe we need some LIBO_INTERNAL_ONLY constructors on rtl::Reference and uno::Reference to make this a little smoother? Change-Id: Icdcb35d71ca40a87b1dc474096776412adbfc7e3 Reviewed-on: https://gerrit.libreoffice.org/25516 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>