summaryrefslogtreecommitdiff
path: root/drawinglayer
AgeCommit message (Collapse)Author
2017-10-23loplugin:includeform: drawinglayerStephan Bergmann
Change-Id: I52693e59a37e36fa0bb21732efe90af84fe6d6c6
2017-10-21loplugin:redundantcast handle dynamic_castNoel Grandin
Change-Id: I7855c76e820efce96778b1c19ec71dffcc4b4abb Reviewed-on: https://gerrit.libreoffice.org/43621 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-10-18use std::unique_ptr in wmfemfhelper::TargetHolderNoel Grandin
Change-Id: I2fab3b9a111513ac711a6480eb240de99eea1991 Reviewed-on: https://gerrit.libreoffice.org/43486 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-16tdf#31814 Resolve TODO from EMF+ DrawImage and DrawImagePointsBartosz Kosiorek
Change-Id: I1b128aa467286b5ae5e0d3cc298ee59f3e6ec12d Reviewed-on: https://gerrit.libreoffice.org/43408 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Patrick Jaap <patrick.jaap@tu-dresden.de> Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-10-15tdf#31814 Fix for EMF+ DrawString and DrawImagePatrick Jaap
DrawString: The value 'fontAttribute' is optional and may be null, results in missing characters. DrawImage: The case of 'metafile' was missing and leads to low resolution rendering. Change-Id: I81566d884975fda832f4a5af6663c837f355c383 Reviewed-on: https://gerrit.libreoffice.org/43367 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-10-01drawinglayer: remove commented out codeChris Sherlock
Change-Id: I20fd2665f9fed59b45127dd4aa3dbce0fc58ac17 Reviewed-on: https://gerrit.libreoffice.org/43006 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2017-10-01tdf#31814 drawinglayer: dump EmfPlusRecordTypeComment recordsChris Sherlock
When we get an EMF+ comment record (which is NOT an EMF comment record, EMF has comment records which is how you store EMF+ records, EMF+ records also have comment records for "private data") then if we are a debug build then dump the private data to stdout. To make this work, set: SAL_LOG=+INFO.cppcanvas.emf+WARN.cppcanvas.emf Change-Id: I293875f45b692971379a5945ff7feb273bc54c73 Reviewed-on: https://gerrit.libreoffice.org/42558 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2017-10-01drawinglayer: should be warning, not info SAL_LOG messagesChris Sherlock
We should warn if EMF+ record < 12 bytes. Similarly, if the record size is less than 12 bytes, that's evidence of a corrupted EMF+ record, same with if the length or datasize is too long. Thus we should warn at this point. Also - if an if statement is not part of another if/else block then best to have a newline separating them so they don't look like they are part of that block. Change-Id: I914c754fe7437d6d4b6f2e4aec2d28475eaf5d70 Reviewed-on: https://gerrit.libreoffice.org/43004 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2017-10-01simplify some OUString compareTo callsMuhammet Kara
to either startsWith or == or != Change-Id: I595dd9d89d32134827980c4ba10f88584430137d Reviewed-on: https://gerrit.libreoffice.org/42988 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-29convert GfxLink::IsEqual to operator==Noel Grandin
exactly one use site Change-Id: Id0a75d46c459be213e81b47aa6c1194c87aec848 Reviewed-on: https://gerrit.libreoffice.org/42891 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-28tdf#112012 EMF+ dashed lines: correct dash lengthPatrick Jaap
Since the first guess of the right transformation seemed to be wrong, here is the next try. The pure float value is multiplied with the pen width. This is way more intuitive for me and renders the EMF files from the bugtracker exactly like in MSO. See 588c5b0cff9bbdb2efbdfb259268154b0074e7e6 for the previous patch. Change-Id: I74e82a0f9800d950e0d989184765a53e520b48e6 Reviewed-on: https://gerrit.libreoffice.org/42810 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-09-26Rename the basegfx::tools namespace to basegfx::utilsTor Lillqvist
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-24tdf#96505 Get rid of cargo cult "long" integer literals66kesara99
Remove unnecessary "Long" literals in multiple locations Change-Id: Icc44546f10fed841683053eee01b788274e0add1 Reviewed-on: https://gerrit.libreoffice.org/42683 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-09-22Remove include of converters.hxx from precompiled_drawinglayer.hxxMike Kaganski
Commit cf48347e7a56c38c000e657965f25f4c7e7b4803 didn't take into account commit 632edfabe8065cd59a237d975ee03468ce4d868b landed before it. Change-Id: I108027a460943b14194adcff4af2a41b7720f3be Reviewed-on: https://gerrit.libreoffice.org/42677 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-09-22Fresh run of bin/update_pch.shMike Kaganski
Change-Id: I69d4157aaf6570cecd51ea59df20556914942e06 Reviewed-on: https://gerrit.libreoffice.org/42565 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-09-22Put definition of _CRT_RAND_S into bin/update_pchMike Kaganski
so it doesn't get removed again from sal/inc/pch/precompiled_sal.hxx (see commit 4af9612f2be9e023e762831207cbdb1d5f25906f). Also make necessary changes to some of the files that start to fail building after running bin/update_pch.sh, so that the patch is self-contained and leaves the tree in fully functional state. tools namespace had to be prepended with :: to disambiguate from drawinglayer::tools vcl/inc/window.h includes were amended, because ExtTextInputAttr is from vcl/commandevent.hxx, and enum class ShowTrackFlags is from vcl/window.hxx Change-Id: I47179622350754cba2f95d26a1bafd3dfbbc935b Reviewed-on: https://gerrit.libreoffice.org/42559 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2017-09-22<drawinglayer/tools/converters.hxx> can be internal to drawinglayerTor Lillqvist
And while moving it, get rid of the 'drawinglyer::tools' subnamespace. Less potential confusion with the global 'tools' namespace. Change-Id: Iab3c25be0cec7f3d182228d122837e9f2ac9a529 Reviewed-on: https://gerrit.libreoffice.org/42619 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2017-09-18maPrimitiveColor in Shadow3DExtractingProcessor unusedNoel Grandin
since commit 9927e1ca23c8353c880a3ae0a196caabdf747c4b Date: Wed Aug 9 16:00:16 2006 +0000 #i39532# Change-Id: I1db3db2c4860d6ad71085cc3cfdeb202eec7e24a
2017-09-15Fix typosAndrea Gelmini
Change-Id: I78653129638b25f16e0816b6fff11e02100c85e7 Reviewed-on: https://gerrit.libreoffice.org/42321 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> Tested-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2017-09-15borderline: Extended decomposeArmin Le Grand
Decompose of BorderLinePrimitive2D extended to take care of non-perpendicular line endings for matching. Improved matching, one error in calc fixed Change-Id: I869a75385711b58e6725daba0f22be8a98158ad9
2017-09-15borderline: extended the expand logicArmin Le Grand
Extended and checked the expand logic for creating the line extends. Now creating quite the right lines, will need to check some speccial cases. Also some cleanups. Change-Id: I3a3bd4d23c7017ecd873147df2d93af61de39fa6
2017-09-15borderline: Added merge BorderLinePrimitive2DArmin Le Grand
Added BorderLinePrimitive2D merges for Writer and fixes.
2017-09-15borderline: merge redefined, mirrored StylesArmin Le Grand
Redefined merge of BorderlinePrimitives, removed old Writer stuff for it. Also added support for handling Styles mirrored for extension calculations.
2017-09-15borderline: Adapted BorderLinePrimitive2D and usagesArmin Le Grand
Big changes to BorderLinePrimitive2D and BorderLine, freeing it from one/three entries, going to a free definition using gaps with width but without color. Adapted usages and creation, not yet tested much Change-Id: Ic1255a790401901c3166d200205bc23322b37185
2017-09-15borderline: Abstraction of BorderLinePrimitiveArmin Le Grand
As preparation for more detailed definition of BorderLine primitives I have adapted the BorderLine definition to work with motre possibilities to define the LineStartEnd definitions in a BorderLineExtend class. That one is flexible to hold all kinds of definitions - from none to all four possible extends (Start/End, Left/Right of vector) Cleanup of DiagStyle and others: DiagStyle is not needed anymore due to no longer using angles calculated, but being based on vectors defining the geometry. Also cleaned up quite a bit of no longer needed calculation stuff for the control.
2017-09-15tdf#112012 EMF+ add dashed line supportPatrick Jaap
add support for dashed lines as optional pen attribute. Change-Id: I8c49d178e1b25eb0b8cd15c32c2fc47497efb21b Reviewed-on: https://gerrit.libreoffice.org/41565 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-09-12tdf#111853 Added TextFillColor to operator==Armin Le Grand
TextFillColor was added to TextSimplePortionPrimitive2D, but not added to TextSimplePortionPrimitive2D::operator==, so when this changed it was not detected. Added this. Also added was bFilled and nWidthToFill, all defaulted. This is not accessible for TextDecoratedPortionPrimitive2D and seems to be some special solution just for one special case in DrawPortionInfo, only used from Outliner::DrawingTab, so I am not sure if that change to the central TextSimplePortionPrimitive2D is good and should stay Change-Id: Ief8da74a8b66281e47c4c8a47131125e30b90e7d Reviewed-on: https://gerrit.libreoffice.org/42188 Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de> Tested-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2017-09-11clang-tidy modernize-use-emplace in d*Noel Grandin
Change-Id: I79ac90faf24b4c741545e411dbaea7826c2df531 Reviewed-on: https://gerrit.libreoffice.org/42150 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-09-03Resolves: tdf#112145 pdf export of editengine highlight color fails sometimesCaolán McNamara
When setting a fill or line color on the outputdevice, put it back to its previous setting when finished with the record, PRIMITIVE2D_ID_POLYPOLYGONCOLORPRIMITIVE2D was the one in this case but protect the other similar ones here too Change-Id: Ifb9b182d72bb6c48a9d9480270fde4384be6291e Reviewed-on: https://gerrit.libreoffice.org/41761 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-08-22emfplus: cut over to new EMF+ rendererThorsten Behrens
We're on par with the old functionality now (modulo a few smaller issues); overall QoS is much better, we get vector output on pdf and print, and the need for large offscreen bitmap rendering goes away. Change-Id: I1fa92c5cad67579c3fcfa78f1bc68696bf1623ec Reviewed-on: https://gerrit.libreoffice.org/41406 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Patrick Jaap <patrick.jaap@tu-dresden.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-08-21Fix typosAndrea Gelmini
Change-Id: I3f3abc3c6e12536d4bc38f0c676d5fc20532a1e3 Reviewed-on: https://gerrit.libreoffice.org/41370 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
2017-08-18loplugin:unnecessaryparenNoel Grandin
look for statements like return (function()); Change-Id: I906cf2183489f87225b99b987caca67e39b26cc3 Reviewed-on: https://gerrit.libreoffice.org/41260 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-17remove UL/L suffixes from integer constants on the RHS of expressionsNoel Grandin
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-08-17remove UL/L suffixes from integer constants in initialiser/call expressionsNoel Grandin
Change-Id: Iae081567c4fa5b88edbd12cf2fbafd2b8f31b300 Reviewed-on: https://gerrit.libreoffice.org/41214 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-17remove UL/L suffixes from shift-by-constant expressionsNoel Grandin
Change-Id: Ia470f643e3eefeccc14183133603db260460bd53 Reviewed-on: https://gerrit.libreoffice.org/41212 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-17Fixup source layout in emf+ parserThorsten Behrens
Non-functional change, cleaning up dog's breakfast in the grandfathered binary parser. Change-Id: If3592959b1580e869413910460ccf5b6c9f6f25d Reviewed-on: https://gerrit.libreoffice.org/41230 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-08-16new EMF+ Parser: Basic implementation for Graphic StacksPatrick Jaap
Some basic code for push/pop events of the graphic stacks. Each draw/fill action is also transferred to the currend state. The implementation follows the one from the old parser. Change-Id: Ib6411046801023dfa72b16038a9e8ede4c628942 Reviewed-on: https://gerrit.libreoffice.org/40867 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-08-16new EMF+ Parser: Implementation of EmfPlusRecordTypeDrawDriverStringPatrick Jaap
The Implementation follows closely EmfPlusRecordTypeDrawString. For each set of characters with the same PosY a TextSimplePortionPrimitive2D is created. Change-Id: I04e4d11dc3c4e1e5bd16aefa8e7f00556aa5282b Reviewed-on: https://gerrit.libreoffice.org/40716 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2017-08-09new EMF+ Parser: Implementation of drawImagePatrick Jaap
this small patch implements the EMF+ Record darwImage. It generates a BitmapPrimitive2D. Change-Id: I90d9a788ed9f520041c392d11f0d97f8e4233796 Reviewed-on: https://gerrit.libreoffice.org/40866 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2017-08-08Fix typosAndrea Gelmini
Change-Id: I24a1e979afe57d9dd139ac07bafc1ec908893152 Reviewed-on: https://gerrit.libreoffice.org/40875 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2017-08-08new EMF+ Parser: Implementation of fillPolygonPatrick Jaap
This implementation replaces hte old one. It uses the workaround hatch blending from the old implentation (basically just copied) It provides correct linear gradients, with correct transformations PathGradients are approximated via RadialGradients. Also, there is a better line width choice, solving problems caused by pictures like tdf#38580. Change-Id: Ida4f36a5de83b6325702a153b642abe5e45982ee Reviewed-on: https://gerrit.libreoffice.org/40831 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2017-08-07Fix typosAndrea Gelmini
Change-Id: I4969e9e66de602a8c79774460a0215ef9d150372 Reviewed-on: https://gerrit.libreoffice.org/40795 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-08-06Fix typo in codeAndrea Gelmini
Not sure, show and ask to real devs Change-Id: Iddd457f62105e4bf6260353c64fb3019ab56a4d5 Reviewed-on: https://gerrit.libreoffice.org/40797 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2017-08-04new EMF+ Parser: Basic Text Primitives for EmfPlusRecordTypeDrawStringPatrick Jaap
Implementation of basic text primitives. It supports text, textstyle (bold, italic, font, font size, direction, color, locale. The positions are well-transformed. Also a few adjustments and supplements for EMFplus font and stringformat Change-Id: I2670b5d0f6b9ddcaa9ffc8262d8aee13ba224b77 Reviewed-on: https://gerrit.libreoffice.org/40635 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2017-08-04new EMF+ parser: EMFPPlusDrawPolygon: use correct pen widthPatrick Jaap
the current implementation uses PolyPolygonHairlinePrimitive2D for polygons. This patch uses a PolyPolygonStrokePrimitive2D which makes use of the correct (transformed) pen width and some basic join and cap attributes. Change-Id: Ifbd8cbbc41004d9d45f3c48f2c13fe449025a229 Reviewed-on: https://gerrit.libreoffice.org/40638 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2017-08-02remove unnecessary use of 'this->'Noel Grandin
Change-Id: I5c115389af7d24c18ddaf5fbec8c00f35017a5b4 Reviewed-on: https://gerrit.libreoffice.org/40671 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-08-01loplugin:checkunusedparamsNoel Grandin
the "check for taking address of function" part was generating false+ Change-Id: Iad6203850901229b7b1b2f8938c68ec703cd343f Reviewed-on: https://gerrit.libreoffice.org/40613 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-07-31Corrected HitTest for layouted textArmin Le Grand
For text layouted using EditEngine the HitTest in SVX is identifying Field like URLs. Thus ist is better to use the anyways more precise primitives for HitTest (rotation/shear/ mirror, ...). This was necessary since the former mechanism which used a combination of primitive-beased HitTest and then using an Outliner to get the position/content of the Field landed on different positions e.g. when the layout needed to use multiple lines for the contained URL, but there could be more cases found. Adapted the text decompositon, the primitive HitTest and the TextHirearchyFieldPrimitive2D accordingly. Change-Id: Ice559e20d02547fdcfcf9783e7cc5481706aab03 Reviewed-on: https://gerrit.libreoffice.org/40591 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2017-07-28borderline: corrections for calc and writerArmin Le Grand
Made corrections/finetuning for Calc and Writer. Had to remove some former code which tried to do corrections. Change-Id: Id9fc687b9a709d250faaad76c37ecfda8d8feb9b
2017-07-28borderline: Simplified BorderLinePrimitiveArmin Le Grand
Overhauled BorderLinePrimitive to use two constructors offering using one or three edge definitions for construction to better refrlect possibilities. Adapted usages. Better processing, less memory. Preparation for using more decent LineExtend values (four per line needed) Change-Id: Iac9d9ae64874fea38fd6e2a04221698481cc0d0e