summaryrefslogtreecommitdiff
path: root/drawinglayer
AgeCommit message (Collapse)AuthorFilesLines
2019-05-09regenerate PCH headers for the 4 new levelsLuboš Luňák1-37/+19
Plus some build fixes triggered by this. Change-Id: I59b21def706598ceffd45ae5b1f0262ec9c1ad50 Reviewed-on: https://gerrit.libreoffice.org/71581 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-05-09drawinglayer: avoid AA for hairline polygons built from hori/vert lines onlyMiklos Vajna2-0/+20
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
2019-05-08improve tools::Rectangle->basegfx::B2?Rectangle conversionNoel Grandin3-17/+12
Improve the conversion method to do something reasonable with empty Rectangle. Use the conversion method in more places. Change-Id: I48c13f3d6dae71f39f03f7939101e545c8125503 Reviewed-on: https://gerrit.libreoffice.org/71853 Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2019-04-30make debug code work properly also on non-win32Luboš Luňák1-3/+21
Change-Id: I5ccf6b079ef8b6a341d06627e4b0abc9d90e0f8b Reviewed-on: https://gerrit.libreoffice.org/71566 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-04-28prefix member variables of AnimationBitmapTomaž Vajngerl1-16/+16
Change-Id: Ic84773399c95d61f843e4388fe01d00cd4facc5a Reviewed-on: https://gerrit.libreoffice.org/71425 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2019-04-28rename animate.hxx to animate/Animation.hxx, more changes followTomaž Vajngerl1-1/+1
This is the first step of refactoring Animation where it is needed to separate AnimationBitmap(s) from the Animation class, which is also responsible for displaying of animation. General idea is to make Graphic work only with AnimationBitmaps, which can be freely be swapped out and in, make copies - all transparantly from the actually displaying them and possibly it will also remove the need to copy the animation objects. Change-Id: If5d55ac1a5b26c3880d4f7602be57742b086f9da Reviewed-on: https://gerrit.libreoffice.org/71406 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-04-26Avoid division by zeroStephan Bergmann1-13/+19
These areas are zero when you start to draw a 3D object with the mouse. Change-Id: I003ec06b42351b5c4b2b59b9f908fb82ab6e9b35 Reviewed-on: https://gerrit.libreoffice.org/71373 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-04-23Fix typoAndrea Gelmini1-1/+1
Change-Id: Ia2a03b59b177ca74c5726db568013949a4a1d1cb Reviewed-on: https://gerrit.libreoffice.org/71082 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-04-15remove or change salbtype.hxx includes with the specific oneTomaž Vajngerl1-1/+1
We probably don't need salbtype.hxx include, but if we do we can now change it with a more specific one - namely BitmapPalette.hxx in most cases. This doesn't yet touch the includes in VCL. Change-Id: Ie3067ccb2eec425650b41ce7fca48e368215f489 Reviewed-on: https://gerrit.libreoffice.org/70761 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-04-15improve loplugin simplifyconstructNoel Grandin1-2/+2
to find stuff like OUString s = OUString("xxx") Change-Id: Ie7ed074c1ae012734c67a2a89c564c1900a4ab04 Reviewed-on: https://gerrit.libreoffice.org/70697 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-05Fix typoAndrea Gelmini1-2/+2
Change-Id: Ie5b9e2a603146dd6bd0e22c80f7cee23ccfd39b2 Reviewed-on: https://gerrit.libreoffice.org/70282 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-04-01tdf#103859 EMF+ Add transparency support for linear gradientsBartosz Kosiorek3-29/+29
Change-Id: I2a3c21b936bc765f152be5bb8064b9d13aabaa07 Reviewed-on: https://gerrit.libreoffice.org/69927 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2019-04-01tdf#120703 PVS: Silence V522 warningsMike Kaganski2-14/+2
V522 There might be dereferencing of a potential null pointer. Change-Id: Ie617b41a8f8d334022cf5313b242a236baedba48 Reviewed-on: https://gerrit.libreoffice.org/70017 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2019-03-29tdf#115843 avoid using transparent virtualdevice when 100% opaqueCaolán McNamara1-21/+24
which for the common case avoids the narrowing of hidpi outputdevices through non-hidpi bitmaps Change-Id: Ibdc004a0946e8cb118818e58a01e5791c869353a Reviewed-on: https://gerrit.libreoffice.org/69930 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-03-29copy between the outputdevices without interim BitmapCaolán McNamara1-2/+7
Change-Id: I6c0097b1b069cad2771c94210986714d59431e4f Reviewed-on: https://gerrit.libreoffice.org/69929 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-03-27Nested list L must be a child of parent's LBodyKatarina Behrens2-16/+62
Implement this as https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf#G13.2259746 describes. The example implementation in Annex H8.2 https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf#G21.1021285 where nested L is a sibling of its parent LI contradicts the specification and is prolly wrong Change-Id: I2bd4a6692ac0cbe02ff6f1746656f104de3fe1f2 Reviewed-on: https://gerrit.libreoffice.org/69506 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-03-21Close all opened List elements at the end of the pageKatarina Behrens1-0/+8
Change-Id: I7c1e11ec57537441417f6b1cebe137587883d8c1 Reviewed-on: https://gerrit.libreoffice.org/69259 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-03-21Limit tagging of background objects to imagesKatarina Behrens2-8/+22
i.e. don't tag custom shapes and other than bitmap background fills Change-Id: I1d42012420f59e1e7b62affb8aca5a8c85688423 Reviewed-on: https://gerrit.libreoffice.org/69258 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-03-21Correct hierarchy of L, LI structure elementsKatarina Behrens1-2/+2
in particular, don't terminate L prematurely Change-Id: Iaf642f547b072b12ccbf861536825a2526b8798a Reviewed-on: https://gerrit.libreoffice.org/69257 Tested-by: Jenkins Reviewed-by: Katarina Behrens <Katarina.Behrens@cib.de>
2019-03-20tdf#42949 Fix IWYU warnings in include/drawinglayer/Gabor Kelemen8-0/+33
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I8daf57df5b8f9c609d4f3ca44bae7366addceb6c Reviewed-on: https://gerrit.libreoffice.org/69151 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-03-08new loplugin constvarsNoel Grandin8-163/+78
detect static variables that can be made const. Thanks to mike kaganski for suggesting this. Here I introduce a new plugin feature - using markers in nearby comments to disable the plugin for specific vars. Some of this stuff was old debugging code. I removed the stuff that was older than 5 years. Change-Id: I6ec7742a7fdadf28fd128b592fcdf6da8257585c Reviewed-on: https://gerrit.libreoffice.org/68807 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-03-05re-land "new loplugin typedefparam""Noel Grandin2-2/+2
This reverts commit c9bb48386bad7d2a40e6958883328145ae439cad, and adds a bunch more fixes. Change-Id: Ib584d302a73125528eba85fa1e722cb6fc41538a Reviewed-on: https://gerrit.libreoffice.org/68680 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-03-04Don't include shape/object name when exporting to tagged PDFKatarina Behrens1-6/+1
most of the time shapes have generated names such as 'Shape 42', those have ~no added value so let's not include them in Alt text Change-Id: I30314d5e901e11722e609dbf7ceddf74c5ed9707 Reviewed-on: https://gerrit.libreoffice.org/68520 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2019-02-14CppunitTest_drawinglayer_border: use CPPUNIT_TEST_FIXTURE()Miklos Vajna1-12/+2
Change-Id: I73f00a0cc052173167a539be02a42c47da34dd98 Reviewed-on: https://gerrit.libreoffice.org/67793 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-02-13Pointer is pointlessNoel Grandin1-1/+0
since it is just a wrapper around PointerStyle Change-Id: I51f065e0d4ad8bd91f5c84c5819048c720a19267 Reviewed-on: https://gerrit.libreoffice.org/67711 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-02-09move and extend primitive2dxmldump to drawinglayerTomaž Vajngerl2-0/+339
Also needs extending the XmlWriter to output double numbers as the attribute content. Change-Id: Ie749ea990d856c8c90092ed8153c24efda99c444 Reviewed-on: https://gerrit.libreoffice.org/67573 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2019-02-08loplugin:indentation in dbaccess..drawinglayerNoel Grandin3-3/+3
Change-Id: I05de6c01e827e596c9802c04964f43508dfd4d64 Reviewed-on: https://gerrit.libreoffice.org/67537 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-02-06Export background images provided by master page as artifactsKatarina Behrens1-30/+6
Such that screenreaders don't announce them. To make this happen, pass them as NonStructElement to PDF writer. Change-Id: I94d52ee0207cd6362edabfb9b891faa7fe341543
2019-02-06Process all of list item (Lbl + LBody) in PDF-compliant wayKatarina Behrens2-3/+29
implemented as described in https://www.adobe.com/content/dam/acom/en/devnet/pdf/pdfs/PDF32000_2008.pdf#G21.1021281 Change-Id: I943c35cb8ee833ff46ff594e6b6c1025450b9ca4
2019-02-06Enhance tagged PDF export for a11yArmin Le Grand6-13/+207
The current tagged PDF export does not well support quite some internal structures. This includes all apps (Draw/Impress/Writer/Calc) and some areas. -= AlternativeText ('/Alt'): Only writer currently at least adds Title information, but we also have Description (MS does add) and Name. Target is to add this information when available to content frames. Writer did that by manually adding that tag using PDFExtOutDevData::SetAlternateText, but only used Title so far. To make this work as broad as possible, better add this to primitives. There is already a primitive called ObjectInfoPrimitive2D that encapsulates any content adding Name/Title/Description using GroupPrimitive functionality. Changed Writer to use that way. Draw/Impress already uses it, all apps now use graphic paint using primitives, so we have a natural target to encapsulate. Add support to VclMetafileProcessor2D to interpret it and add - if mpPDFExtOutDevData->GetIsExportTaggedPDF() - that data using a combination of Name/Title/Description and add using mpPDFExtOutDevData->SetAlternateText. This works for Draw/Impress/Writer, but not for Calc because Calc does not create more complex data structures, so SetAlternateText does not work (see PDFWriterImpl::setAlternateText for more infos). -= Area tagged ListContent (use 'L', 'LI', 'LBody' PDF tags): To support this in Draw/Impress, we can also use a similar way to support in primitives. For this I evaluated how to add needed OutlineLevel information to the existing (and already used to write 'P') TextHierarchyParagraphPrimitive2D. Added this and now ready to use in VclMetafileProcessor2D ::processTextHierarchyParagraphPrimitive2D. Added now using the OutlineLevel information at the TextHierarchyParagraphPrimitive2D. Made sure there are fallbacks to unchanged old behaviour when no PDF export or no Tagged-PDF used. Creating now '/L', '/LI' and '/LBody' statements as tagged PDF wants us to do. Exported PDF still works well while additionally a verifier as 'PAC 3' shows the expected and wanted structure. This will work now for any text in Draw/Impress and for Draw-Objects using Lists in Calc. Need to check for direct text in Calc cells and Writer - and guess how big the effort would be for these to make it work there, too. -= Area '/Artifact': Target is to avoid too much ScreenReader hassle when Impress uses Pictures/FillPatterns etc. in Background - what means on MasterPage in Impress. Experimented with different possibilities. Decided to use existing StructureTagPrimitive2D and extend for info if encapsulated data is 'Background' data -> on MasterPage. Can be created in ImplRenderPaintProc in method createRedirectedPrimitive2DSeque as needed by checking for MasterPage member (remember: primitives need to be as independent from model data as possible, never include e.g. a SdrObject reference in any way). Tried different ways to use this in VclMetafileProcessor2D processStructureTagPrimitive2D, see comments there. Current best solution is to just *not* create StuctureTag information for these objects. Change-Id: Ib2a578b02c1256758cda6d15ce37799803d8205c
2019-01-21o3tl::make_unique -> std::make_unique in dbaccess...frameworkGabor Kelemen5-48/+43
Since it is now possible to use C++14, it's time to replace the temporary solution with the standard one Change-Id: Iad5a422bc5a7da43d905edc91d1c46793332ec5e Reviewed-on: https://gerrit.libreoffice.org/66545 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-01-17tdf#122557 EMF+ Implement Shearing for DrawImage recordsBartosz Kosiorek1-6/+12
Change-Id: If16afb7e56002153c962c32ded2e1dd6edda36fb Reviewed-on: https://gerrit.libreoffice.org/66509 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2019-01-17tdf#122557 EMF+ Implement proper rotation support of DrawImageBartosz Kosiorek4-26/+15
Change-Id: I2c32a47fac06b2026d61a0f369e6d569c9f57502 Reviewed-on: https://gerrit.libreoffice.org/66392 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2019-01-11Drop o3tl/clamp.hxx, use C++17 std::clamp insteadStephan Bergmann6-23/+41
Change-Id: I5043c787dcc3b78bc7fdff130564801194e39f46 Reviewed-on: https://gerrit.libreoffice.org/66177 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-01-11tdf#122646 EMF+ Implement proper line width displayBartosz Kosiorek5-106/+17
With this patch I have implemented proper line width display, and improved performance (we are not multiply by matrix of doubles, but only by one double. Change-Id: Ica85b93ac7b7f37a9debb7bc232f2d9140c2a772 Reviewed-on: https://gerrit.libreoffice.org/66136 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2019-01-09tdf#122559 EMF+ Add transparency support for drawing linesBartosz Kosiorek1-25/+30
Change-Id: I62081f33eb04e70742d61418fa336f184f0f359b Reviewed-on: https://gerrit.libreoffice.org/65996 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2019-01-08convert "*xxx.get()" to "*xxx"Noel Grandin2-2/+2
Change-Id: Ic307226591ff9702957ccdec486ccf70357eb6d9 Reviewed-on: https://gerrit.libreoffice.org/65951 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-01-07tdf#122498 EMF+ Fix rotation of Ellipse, Arc and PieBartosz Kosiorek2-19/+22
To draw any shape with EMF+ the shape needs to be created and next the transformation matrix needs to be applied. Unfortunately for Ellipse, Arc and Pie only position and ratio was transformed. The rotation was not handled correctly. With this patch the transformation matrix is applied after creation of the shape. Change-Id: I63a797e7cddfd304f94e7e5c8e2ce15063dc55e5 Reviewed-on: https://gerrit.libreoffice.org/65898 Tested-by: Jenkins Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2018-12-10tdf#42949 Fix IWYU warnings in include/vcl/s*Gabor Kelemen3-0/+3
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Ie87d27dd2c385a63349e0b322fd067ba03d2d152 Reviewed-on: https://gerrit.libreoffice.org/64479 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-12-08Remove obsolete SAL_FALLTHROUGH completelyStephan Bergmann3-6/+6
...after 7ffdd830d5fb52f2ca25aa80277d22ea6d89970b "HAVE_CPP_ATTRIBUTE_FALLTHROUGH is always true now" Change-Id: I54e5ff4e036a6bb3e5774d1c0524158aae18e937 Reviewed-on: https://gerrit.libreoffice.org/64800 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-12-07HAVE_CXX_CWG1579_FIX is always true nowStephan Bergmann1-9/+0
...(according to <http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1579> it is fixed in C++14), but for safety, leave the configure.ac check in for some longer. Change-Id: Ibd2f0cac228117e35ac299e2fe74207394c900cd Reviewed-on: https://gerrit.libreoffice.org/64773 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-12-07loplugin:singlevalfields extend to all static varsNoel Grandin8-10/+10
Change-Id: Ic238bb5291539fd1b7e98cb4afc9b25f37e7d528 Reviewed-on: https://gerrit.libreoffice.org/64710 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-12-05loplugin:unnecessaryparen include more assignmentsNoel Grandin1-2/+2
Change-Id: I9fb8366634b31230b732dd38a98f800075529714 Reviewed-on: https://gerrit.libreoffice.org/64510 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-12-03tdf#42949 Fix IWYU warnings in include/vcl/[n-r]*Gabor Kelemen2-0/+2
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I5a4951e983078ab6b6cbf0e96b00a20584b85e20 Reviewed-on: https://gerrit.libreoffice.org/64398 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-11-29tdf#42949 Fix IWYU warnings in include/vcl/[i-m]*Gabor Kelemen1-0/+1
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: If1b2e04872eb0dd6725802c1709a9085f4cd8c91 Reviewed-on: https://gerrit.libreoffice.org/64141 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-11-27tdf#121648 EMF+ Fix displaying DrawDriverString recordBartosz Kosiorek1-3/+2
With introduing String rotation support I made mistake by not removing Maping from DX-Array. With this commit I'm fixing that issue. Now drawing with DrawDriverString record, and rotation is working perfectly. Change-Id: I7ae051b3791d9d2d8e2143ed33d21b7bfbc551c6 Reviewed-on: https://gerrit.libreoffice.org/64079 Tested-by: Jenkins Reviewed-by: Patrick Jaap <patrick.jaap@tu-dresden.de> Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
2018-11-27tdf#42949 Fix IWYU warnings in include/vcl/[f-h]*Gabor Kelemen1-0/+1
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Ice2eb8c5994bf2ccb88972332ca4a1d3ed41752a Reviewed-on: https://gerrit.libreoffice.org/63826 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2018-11-26remove unused DrawModeFlags enum valuesNoel Grandin1-20/+2
Change-Id: I86775a5b7609f5e85c8fcc18a0be7e0ee3c8f84c Reviewed-on: https://gerrit.libreoffice.org/64046 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-21loplugin:redundantfcast improvementsNoel Grandin4-13/+9
check for calls to constructors, and extend the list of types we check for unnecessary temporary creation Change-Id: Ia2c1f202b41ed6866779fff5343c821128033eec Reviewed-on: https://gerrit.libreoffice.org/63472 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-19tdf#42949 Fix IWYU warnings in include/vcl/[ab]*Gabor Kelemen1-0/+1
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: If18c80fc64e55d797953e24e40e5d5e62bd9c625 Reviewed-on: https://gerrit.libreoffice.org/63453 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>