summaryrefslogtreecommitdiff
path: root/canvas
AgeCommit message (Collapse)Author
2023-11-18c++20: use std::erase instead of std::removed followed by erase (part 2)Julien Nabet
Change-Id: I0222f0f53f387dd57bd674b1e137b53487f4e1d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159611 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-11-17c++20: use std::erase instead of std::removed followed by eraseJulien Nabet
See https://en.cppreference.com/w/cpp/container/vector/erase2 Change-Id: I26744e74b34d1efa1524a1f88aa3af9e153bc9ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159515 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2023-10-25tdf#157790 invert alpha maskPatrick Luby
Due to commit 81994cb2b8b32453a92bcb011830fcb884f22ff3, the alpha mask needs to be inverted. Change-Id: I4771c5f6f3a08fb210b62a0533df895a4a476058 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158410 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-11Drop o3tl::span, can use C++20 std::span directly nowStephan Bergmann
Change-Id: Ic21ff7bf48f07f7277979d52e99d2c5c268de83f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157825 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-09-21tdf#146619 Recheck include/basegfx with IWYUGabor Kelemen
Change-Id: I08dad6ceeaa9e5470491c09f06d819c4c27ec5f3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156983 Tested-by: Jenkins Reviewed-by: Gabor Kelemen <kelemeng@ubuntu.com>
2023-09-02replace set(nullptr) with clear()Noel Grandin
It's a little easier to read, but mostly it makes an upcoming loplugin easier to implement Change-Id: I4ae7db8eda77795dab3255d1afd8ba4f20a8de76 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156451 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-19loplugin: new global analysis locking2Noel Grandin
look for methods where we don't need to guard access to the field, because the field is never modified Change-Id: I62c33cc3f52881557515765d3733c4afc78547aa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155836 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-16tdf#144073 and tdf#147645: use bounds and angle for gradientPatrick Luby
Passing an expanded, rotated polygon noticeably modifies the drawing of the gradient in a slideshow due to moving of the starting and ending colors far off the edges of the drawing surface. So try another way and set the angle of the gradient and draw only the unadjusted bounds. Change-Id: I95441dfa3215396d5bc7edfa9f985335480b37de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155729 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-08-13Revert "clang-tidy bugprone-parent-virtual-call in canvas"Noel Grandin
This reverts commit eb6110aae0af9e27f71dac95274b8f3879090deb. There are some odd things gone in with some of these changes that I do understand. Reverting until I have worked it out. Change-Id: I3856b878cfaa6fd1b282a473965b2ec68779a616 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155597 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-11clang-tidy bugprone-parent-virtual-call in canvasNoel Grandin
Change-Id: Ibaaec56e7cb42d113be07bb719de3534de24833c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155615 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-06tdf#156540 invert alpha mask when drawing spritesThorsten Behrens
Due to the switch from transparency to alpha in commit 81994cb2b8b32453a92bcb011830fcb884f22ff3, a sprite's alpha mask needs to be inverted. Additionally, fixes an oversight in vcl's alpha.cxx, where manual blend math got mangled, also in 81994cb2b8b32453a92bcb011830fcb884f22ff3. Change-Id: I8ebbbc7fe624d8dfc8121d8814d30875c498870d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155378 Reviewed-by: Patrick Luby <plubius@neooffice.org> Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-08-06Revert "tdf#156540 invert alpha when drawing sprites"Patrick Luby
This reverts commit 52637f46cc79eb7f65a97524e92a0b2f45d3d598. Reason for revert: A better fix is being worked on in https://gerrit.libreoffice.org/c/core/+/155378 Change-Id: I91c6ed96bdd202612d4b10458c015532b9162c1a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155308 Reviewed-by: Patrick Luby <plubius@neooffice.org> Tested-by: Patrick Luby <plubius@neooffice.org>
2023-08-05tdf#156540 invert alpha when drawing spritesPatrick Luby
Due to the switch from transparency to alpha in commit 81994cb2b8b32453a92bcb011830fcb884f22ff3, a sprite's alpha mask needs to be inverted when Skia is enabled and the fAlpha value needs to be inverted when Skia is disabled. Change-Id: Ie802924b07ddbab536a2eddb57bf82e5146cffe7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155358 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de> Reviewed-by: Patrick Luby <plubius@neooffice.org>
2023-07-25Convert internal vcl bitmap formats transparency->alpha (II)Noel Grandin
(Second attempt at landing this) Image formats and graphics APIs use alpha, not transparency, so change our internal formats and data structures to work directly with alpha, so we don't need to modify data before we push it to graphics APIs. Add a couple of new Color constants to make the intention of the vcl code clearer. Notes (*) On macOS, tweaking the logic in CreateWithSalBitmapAndMask to more accurately reflect the requirements of the CGImageCreateWithMask function seems to fix some tests. (*) The vcl code does not properly support gradients with transparency. So the previous code was wrong, and this change is going to result in slightly different wrongness. Change-Id: I9e21c2e98d88ecfdc5f75db13bd1ffff7c38db98 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/114168 Tested-by: Jenkins Reviewed-by: Patrick Luby <plubius@neooffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-13basegfx: replace typedef with a class B2ISize based on Size2DTomaž Vajngerl
Change-Id: Iaf7d02bb236f81a38a67a1430a718b6c3c78efae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139708 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2023-07-10tdf#147999: Fix canvas font width for fallback fonts on WindowsKhaled Hosny
For some reason we are getting the wrong font width for fallback fonts, which results in rendering them squished. This happens only with VCL canvas, but not with DX one, so it shows when hardware acceleration is disabled (either explicitly or implicitly when Skia is enabled). Change-Id: I5a45b1c1d68f4c6e6dd6b43371602af3330a7cd3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154272 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-07-06make tools::Poly*gon single-arg constructors explicitNoel Grandin
which will help avoid ambiguity in method calls in an upcoming patch Change-Id: Ic7607ac7d95559e0942a84fb3226cfdd6ade22bc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154146 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-06ScanlineFormat::N1BitLsbPal is unusedNoel Grandin
ever since commit 4160be791daaef1a0c059a248f678cbad6408a69 Author: Caolán McNamara <caolanm@redhat.com> Date: Tue Jan 10 20:55:31 2023 +0000 no more X11SalBitmap Change-Id: I9dd55acdde6af1bf7501a71e92725ab739801b0b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154060 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-06-19tdf#43671: Pass through emphasis mark setting with cairo canvasKhaled Hosny
Other canvas implementations passed it through, but cairo canvas was not. Change-Id: I9b4cc500998635568c095866f9099f83bf1c984e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153299 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-06-18tdf#155810: Pass Kashida insertion positions through canvasKhaled Hosny
This was missed in: commit 3901e029bd39575f700e69a73818565d62226a23 Author: Khaled Hosny <khaled@aliftype.com> Date: Mon Aug 8 22:08:37 2022 +0200 tdf#104921: Cleanup Kashida insertion logic The width adjustment passed through, but Kashida insertion positions didn’t, leaving gaps in place of Kashidas when canvas is used (apparently canvas is only used for slideshow). Change-Id: I25ff30f10cc46a5c87bda2f3936df26b2fc926b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/153234 Tested-by: Jenkins Reviewed-by: خالد حسني <khaled@libreoffice.org>
2023-06-05Use getXWeak in canvasMike Kaganski
Change-Id: I51b4c20eadc594057d5384bff51b4547da86129d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150837 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-04-21MCGR: Reduce diverse GradientStyle enums to single UNO API oneArmin Le Grand (allotropia)
Change-Id: Ie0cd26a308a75ddead9451c53e874a39cc6eeb63 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150705 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2023-04-21Fix some getImplementationNameStephan Bergmann
...to match the corresponding .component entry Change-Id: Id08644bcb49928594220bd3e49dd8b8578473ffe Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150693 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-04-18Some missing XServiceInfo implementationsStephan Bergmann
Change-Id: I1cf871b40f9f4020147dac0456ebeed3de0438e6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150533 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-03-23rtl::Static to thread-safe-staticNoel Grandin
Change-Id: Ife02e6d2be3ebfbb08522ab0183ef4aa31a99e19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149415 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-03-08osl::Mutex->std::mutex in SimpleCanvasImplNoel Grandin
Change-Id: I6fc1db00360e87f1bb99fb0e77c3c82a53642d80 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148439 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-28BaseMutex->std::mutex in oglcanvas::TextLayoutNoel Grandin
Change-Id: I76b95eb8444c057d94f5653769e23047c019b139 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147964 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-24BaseMutex->std::mutex in vclcanvas::TextLayoutNoel Grandin
Change-Id: I66970331312f30f42f16299ce6f38b2a13316e41 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147633 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-24BaseMutex->std::mutex in oglcanvas::CanvasFontNoel Grandin
Change-Id: I74c3132bae4076915e1e41525d7cd7e709195197 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147632 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-24BaseMutex->std::mutex in CanvasFontNoel Grandin
Change-Id: I4f10e5d33b1067adbe3987c9a103951ea175fde4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147631 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-24BaseMutex->std::mutex in cairocanvas::TextLayoutNoel Grandin
Change-Id: If45308a943104ed5a7f3ec2713bce5d68ee73485 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147579 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-22BaseMutex->std::mutex in canvas::CachedPrimitiveBaseNoel Grandin
Change-Id: I9f7c23a4880ea09f3c9a98ad7d27b27bf35483ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147421 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-07improve readability of VirtualDevice constructorNoel Grandin
(a) It is not obvious what DeviceFormat::DEFAULT means (b) There are two parameters (each with two states), but only really 2 possible overall states So (1) use more useful names (2) combine the two parameters into one enum Change-Id: Ic0595b39e032cc9e019b88326389d055b977da00 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146589 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-16The third "depth argument is unusedCaolán McNamara
as far as I can determine. We do query the 2nd arg in "gen" when there is an opengl slide transition. Change-Id: I180c91fa193ee6e7e3d5a415e4278aded9fbbba1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145544 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2023-01-11rename BitmapEx::GetAlpha to GetAlphaMaskNoel Grandin
to ease the reading of code related to an upcoming patch to convert transparency to alpha, since there is already a GetAlpha in Color. Change-Id: I1af0f8f6dd94acfe4673c8556c7aff6c20da3f7a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145209 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-01-05Revert all the recent loplugin:unocast changesStephan Bergmann
...as obsoleted by ef533553559fe09b4afab651fc692885d1acf4ed "Rudimentary support for dynamic_cast on UNO proxy objects". This reverts all of: 4cfcc9ac37b90ce64c8402a41eb4638adb185b5c "loplugin:unocast (framework::Desktop)" 03efbf72f4ddf7a84aa8aabef348331bd4b75e8a "loplugin:unocast (vclcanvas::TextLayout)" 80099fdd51a69eaa6c36ca88ef772810e4a777fa "loplugin:unocast (SalGtkXWindow)" cc147f576d8687fb79c77d47d41dc4ba1678a469 "loplugin:unocast (sdext::presenter::CachablePresenterView)" 40db42be1d8fd0f9c6c8c5ba3767ddb9ee2034c2 "loplugin:unocast (vclcanvas::CanvasFont)" 2d1e7995eae29e2826449eb5179f5fae181794a5 "loplugin:unocast (CairoColorSpace)" 4c0bbe4bd97636207cf71a6aa120c67698891da9 "loplugin:unocast (canvas::ParametricPolyPolygon)" 89803666621c07d1b1ac9d3bd883f0ca192a91a0 "loplugin:unocast (vclcanas::CanvasBitmap)" d5e0c2c8db71878d21c2a7255af08cf5f9a6dd04 "loplugin:unocast (sfx2::DigitalSignatures)" c0c4519e0d5b555f59bbc04cc616454edfd1f4ce "loplugin:unocast (VCLXAccessibleComponent)" feb8b833a6245d42400f42a0bc789dc84594ee6f "loplugin:unocast (VCLXDialog)" 1fa58cc6cc9c3849753342a5d9a6ddfa461b5e66 "loplugin:unocast (VCLXMultiPage)" f481f036deb1b1b46f3038074c4659f3a91b9c6c "loplugin:unocast (DocumentSettingsSerializer)" 73df933f5fa5932f94e5a1b338a3eda00a9ce354 "loplugin:unocast (css::embed::EmbeddedUpdate)" 420165ab0ef03c0467f9d17f504de2d2fc78f0e6 "loplugin:unocast (canvas::tools' StandardColorSpace, StandardNoAlphaColorSpace)" 9abe8ee067e6c00f19d8a13346d53c4641c27166 "loplugin:unocast (MutableTreeNode)" 9f3022ceb036f23b4b0994c3e2fbd1001bff225a "loplugin:unocast (VCLXTabPage)" 1be70dda02c12a60778b7607cff2520ae1aa611e "loplugin:unocast (vcl::unotools::VclCanvasBitmap)" d6a70bb641b96e8e5616448c2378131ed62658b4 "loplugin:unocast (basegfx::unotools::UnoPolyPolygon)" 5a14f009e6782c077463c8cbb8e9cea3d7950107 "loplugin:unocast (xmlsecurity::Certificate)" 99009c9535dfa3e0d838989ccc7d84bfa2320ff4 "loplugin:unocast (sd::Annotation)" 0c7585c5fa78887e5459885ed744e8044fd76137 "loplugin:unocast (sd::TextApiObject)" 24e14afd1bfcaed6c200ab081973fba7e47267ca "loplugin:unocast (SignatureVerifierImpl)" 1a7ad0c10d286ce9ae2700ceb2fd50eed1fb43a4 "loplugin:unocast (pcr::PropertyEventTranslation)" a97e2d2702d9a6f37775ccee2c08c4f3b2479c4b "loplugin:unocast (RangePageBreaks)" 19dfdf86ad1f5b08041d8b7a9f196caf881231ab "iloplugin:unocast (pcr::OFormattedNumericControl)" f9785ea595fd8e911f6370e836fa579225b9e571 "loplugin:unocast (frm::OInterfaceContainer)" 5e5f40a4a92a31b0932c690219d002fcf18598cf "loplugin:unocast (ScVbaShapes)" 27b35b2c215b4832d4378ec3a7ecbba926552d06 "loplugin:unocast (ScVbaShapeRange)" cb3108f860065928552a86cf8acc4b3a95718ecf "cid#1517812 Dereference null return value" feba0ddb1521d1142560fe54b7d7696ee910237f "loplugin:unocast (weld::TransportAsXWindow)" 4d6c23216559eb48f9943bb49d6e475a6d64ba15 "loplugin:unocast (oox::ForumlaImExportBase)" 4844c096a8ab6a9a620c410a0949d4499f12a504 "loplugin:unocast (cairocanvas::SurfaceProvider)" 9a0b523e0a84d403b9092176ccec4b3e3efe42d0 "loplugin:unocast (cairocanvas::CanvasBitmap)" 8a5648d8e59b4b007dbbf3824777c19a21efc61e "loplugin:unocast (cairocanvas::TextLayout)" 28c27a0623bc78a0590858f97d03b620985bc84c "loplugin:unocast (cairocanvas::CanvasFont)" 53bc223cb3288e32a417696ee61c29e5f01f209d "loplugin:unocast (cairocanvas::RepaintTarget)" 5f70b0b9f6bc4ab145ddbd9155590ed4a3b1b9ec "loplugin:unocast (SvXMLImport)" 068187a898cdd2e26e9b16c348ecc1ed2dee3f29 "loplugin:unocast (VCLXWindow)" 88b4f966202717cd4ad38a30a8eda22c3e69ed35 "loplugin:unocast (sfx2::sidebar::SidebarController)" f1b7a69b280aefe2f1b3b0f32193494fd765f2bd "loplugin:unocast (SvxLineStyleToolBoxControl)" ba76f0ba7e8de4d2953739c952004b7d9af47197 "loplugin:unocast (i18npool::Calendar_gregorian)" 840154daf934d8df52ead1cb7acd798c4d30f007 "loplugin:unocast (framework::AddonsToolBarWrapper)" b0e9c4c5f063cefa9557810e3349bdb9c7493091 "loplugin:unocast (GrammarCheckingIterator)" 8ee6cfc9655ce9de4617cea1a0d9cb9d7a4fbfac "loplugin:unocast (ucb::ucp::ext::Content)" 5b8cd77c112bc8c0e92b8fec215c3c8e802bbc0a "loplugin:unocast (basic::SfxScriptLibraryContainer)" 9e73ff9fce12e102bb3c3cea8d8bb96c88f2c9ad "loplugin:unocast (sdext::presenter::PresenterNotesView)" a98acca8fbc38d3fd5600ae5056a8e42b6d8a40d "loplugin:unocast (SelectionChangeHandler)" c0b59ad6e35b0cb0dea0821e95f95569739078c1 "Consistently use comphelper::getSomethingImpl<I>(aIdentifier, this)" 276e3ccbdd3259ec3daf8a1a98fa7f406b14e21c "loplugin:unocast (vclcanvas::RepaintTarget)" Change-Id: I37c73e3422a5154bf6cb647640d2d3f23db8bc34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/145063 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-23loplugin:unocast (vclcanvas::TextLayout)Stephan Bergmann
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: I4ee48fe50c6c579952478e6d3f6c2aac168d095c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144769 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-23loplugin:unocast (vclcanvas::CanvasFont)Stephan Bergmann
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: Id92c7e4367aae8e22d77772986d85288cdb73f2a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144770 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-23loplugin:unocast (CairoColorSpace)Stephan Bergmann
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: Ie04db15daff4a44758019aab690ff8e822ddae45 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144771 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-23loplugin:unocast (canvas::ParametricPolyPolygon)Stephan Bergmann
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: I965d6ba17decda1fa055fb548aa9085d2e786bc0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144768 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-23loplugin:unocast (vclcanas::CanvasBitmap)Stephan Bergmann
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: If79f69507e939a25a5bbf82f818c44f26077dfce Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144767 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-22loplugin:unocast (canvas::tools' StandardColorSpace, StandardNoAlphaColorSpace)Stephan Bergmann
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: I472e09870b51b89b89c643675ab46c38b4a0c6de Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144753 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-18loplugin:unocast (cairocanvas::SurfaceProvider)Stephan Bergmann
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) There are implementation classes whose getSomething already delegates to RepaintTarget, so they can't also delegate to SurfaceProvider. So introduce the concept of comphelper::getSomethingImpl additionally delegating to a sequence of mixin classes before delegating to the base. Change-Id: I9230f3dc06abbdd1ad92514a11473dae2624f7c1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144404 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-18loplugin:unocast (cairocanvas::CanvasBitmap)Stephan Bergmann
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: I6044567e4027fe1fdc361917d5233157d4ce98d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144399 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-18loplugin:unocast (cairocanvas::TextLayout)Stephan Bergmann
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: I900d37ee0053e3fbfc8c21b02087a6eaa92cf942 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144352 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-18loplugin:unocast (cairocanvas::CanvasFont)Stephan Bergmann
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: I2d5c330bb542dc74ea572f1667a24be8107fb87c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144351 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-17loplugin:unocast (cairocanvas::RepaintTarget)Stephan Bergmann
(See the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: Ida4ccf961301cf50396e80d9bbdc4b9925bd81f7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144350 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-15Consistently use comphelper::getSomethingImpl<I>(aIdentifier, this)Stephan Bergmann
...rather than comphelper::getSomethingImpl(aIdentifier, static_cast<I *>(this)) to delegate to an inherited class I Change-Id: I85d5b4923428e7082e3dbcea4846eef118f5f201 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144211 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-14loplugin:unocast (vclcanvas::RepaintTarget)Stephan Bergmann
(The overall inheritance hierarchies of the classes deriving from RepaintTarget are so over-engineered that it looks easier to make each of those classes derive from css::uno::XUnoTunnel individually, rather than deriving RepaintTarget from something like cppu::WeakImplHelper<css::uno::XUnoTunnel>. And see the upcoming commit introducing that loplugin:unocast on why such dynamic_casts from UNO types are dangerous.) Change-Id: I4bcfad4049a2fb366768602a432c1282c2bf477e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/144140 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-12-02tdf#152094 retain more accuracy from RefDevMode::MSO1Caolán McNamara
do it like this to avoid adding another mapmode and to keep things "the same" as much as possible Change-Id: I1965aa545646f2d27b950d6335b2f608c3e4e04b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143475 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>