summaryrefslogtreecommitdiff
path: root/canvas
AgeCommit message (Collapse)AuthorFilesLines
2020-09-04tdf#124176 Use #pragma once in canvasGeorge Bateman74-296/+74
This commit was carried out by a Python script, source of which is at https://bugs.documentfoundation.org/show_bug.cgi?id=124176#c97. Change-Id: Icd712adf20fa2dbaaea2fc33a0fd870c8595b7e2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100147 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-08-31Fix typo in codeAndrea Gelmini1-5/+5
It passed "make check" on Linux Change-Id: If7c189f410f08d5069edf0fc7a29057897e08388 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101617 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-08-26[API CHANGE] Drop OSL_THIS_FUNC, directly use C++11 __func__Stephan Bergmann10-38/+38
It had been documented as "the macro OSL_THIS_FUNC is intended to be an office internal macro for now", so take the liberty of removing it, even if technically that can be considered an incompatible API change. Change-Id: I7580a932e1da54845934378a650e894f3f3a9062 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/101406 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-19don't split polypolygon in canvas if not needed (tdf#135395)Luboš Luňák1-17/+27
Those polygons will be merged back in Skia because of 12147e0322e0fdd1b561c94e7ebd3fdd69ceaac0, which is costly with tdf#135395. And if the only reason for the splitting is that the polygon requires a winding rule but DrawPolyPolygon() uses evenodd rule, then simply convert the polygon to the evenodd rule. Change-Id: Iba5ec31d6d6407f734b20badc80c846071068d40 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100976 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-08-19Fix typo in codeAndrea Gelmini1-1/+1
Change-Id: Ied22aa3812e7db3550e8884720b1df32e38c65be Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100870 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-17[API CHANGE] remove OSL_SIGNAL_USER_RESOURCEFAILURENoel Grandin1-9/+1
which is unused since commit 00657aef09d854c74fb426a935a3e8b1fc390bb0 Date: Sun Jun 11 20:56:30 2017 +0100 migrate to boost::gettext Change-Id: Ia66a3a729dc4999c95b96ae1754b07c372121370 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100810 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-08-14tdf#135094 cairo canvas: fix black slide containing a very small imageMiklos Vajna1-4/+17
Don't paint when the area would be 0, that would not be visible anyway, and the _cairo_matrix_to_pixman_matrix_offset() call would fail with CAIRO_INT_STATUS_INVALID_MATRIX in _pixman_image_set_properties(), failing the render of the whole slide. Also, warn in case the painting fails, so the next time something breaks, it's easier to find the problematic place. [ No testcase, our tests are typically headless and currently SvpSalGraphics::SupportsCairo() reports false, so this would be tricky to test. ] Change-Id: I7cdb9462ff8155232ea51abf321b365c2219575b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100743 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2020-08-14loplugin:simplifybool moreNoel Grandin2-3/+2
look for expressions like !(a && !b) which can be expanded out Change-Id: I72515a9638762b050f9a258c08da39ebfa2ef8e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100579 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-08-05Throw detailed IllegalArgumentException regardless of OSL_DEBUG_LEVELStephan Bergmann1-4/+0
...assuming that such an exception is rare enough that any performance impact does not matter. (The code was like this ever since its introduction in 9e2bf1d54a6e92dcfa3076bf4d7cc623ace87cd3 "INTEGRATION: CWS canvas02".) This nicely avoids loplugin:unusedmember about unused mpStr and mnArgPos when OSL_DEBUG_LEVEL is zero. Change-Id: I2ad3e36e98a6811ae255525cf8159db89c78ad7f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100143 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Jenkins
2020-08-04loplugin:simplifypointertobool (clang-cl)Stephan Bergmann5-9/+9
Change-Id: I6512e6e4217ef9084c74e46e3b4f1e8defbd1bec Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100108 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-04loplugin:makeshared (clang-cl)Stephan Bergmann5-7/+8
Change-Id: Ie28438633d9d81d756013772c573f02a756478d3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100096 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-08-04-Werror,-Wunused-function (clang-cl)Stephan Bergmann1-7/+0
Change-Id: I85149c0618a9b347fd1710f46b825844b3119bf4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100087 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-07-31fix leak in CppunitTest_cppcanvas_testNoel Grandin1-1/+7
Change-Id: Iecdbbec18a8d88872878a8fa9a17f7040677384c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99863 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-24tdf#135078: let vclcanvas::SpriteCanvas implement css::lang::XServiceInfoMike Kaganski2-1/+23
In Skia mode, OGLTransitionerImpl::initWindowFromSlideShowView obtains vclcanvas::SpriteCanvas from passed xView; it's passed to getDeviceInfo, which needs a css::lang::XServiceInfo to fill the device params sequence. vclcanvas::SpriteCanvas did not implement it, the sequence stayed empty, and dereferencing its elements later crashed. When Skia is disabled (VCL:win), xView provides a dxcanvas::SpriteCanvas instead, which implements css::lang::XServiceInfo. This makes vclcanvas::SpriteCanvas implement css::lang::XServiceInfo. I don't know if it's better to find out why vclcanvas::SpriteCanvas is used in Skia mode, and not dxcanvas::SpriteCanvas. Change-Id: Ic0ab1323772161052a23946cfcc91e656ba6685c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/99330 Reviewed-by: Luboš Luňák <l.lunak@collabora.com> Tested-by: Jenkins
2020-07-16compact namespace: basegfx,canvasNoel Grandin6-24/+13
Change-Id: Idc808459b403bcdcccbd86b73dd22b424e507c8e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98897 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-14canvas/gdiplus: create instances with uno constructorsNoel Grandin3-48/+65
See tdf#74608 for motivation. Change-Id: Ie1f1736ceda372a53e1065d4829f019338f5b7bf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98730 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-14canvas/directx9: create instances with uno constructorsNoel Grandin4-31/+41
See tdf#74608 for motivation. Change-Id: Id8d6ef240ba872f7e93752614cd2d45fc50897ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98729 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-11tdf#134647 crash going to next slide on slideshowNoel Grandin4-2/+48
regression from commit 1cd0e02cdf7fc5b5903320ffd24865d11465d14b cairo/canvas: create instances with uno constructors Change-Id: I4d09f8d68a24b0efa47d12df1c542f2953efed3d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98530 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-10prefer 8bit bitmap masks to 1bpp masksLuboš Luňák1-2/+2
It's much simpler and more performant to work with 8bpp bytes rather than fiddle with 1bpp bits, and the memory savings don't really matter nowadays. E.g. the soft edges feature performs much worse when operating on 1bpp bitmaps (tdf#134237). I've looked and it seems nothing in LO code actually requires bitmap masks to really be 1bpp. As a next step we could perhaps also leave antiquity and embrace the past by dropping 1bpp masks entirely and using just alpha masks. The change also moves the workaround for #i75531, it was breaking CppunitTest_vcl_svm_test and X11-related hacks belong to the X11 code (especially with the X11 backend becoming more and more niche). Change-Id: I7848f06c8b83bbad2ea35f17f2b65855f8d1f456 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97839 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-07-10replace usage of blacklist with excludelist for IWYUThorsten Behrens1-1/+1
Background and motivation: https://tools.ietf.org/html/draft-knodel-terminology-02 Change-Id: I2f22d455d2a936a85750eaab1fda215ebb6d9d48 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98182 Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-07-10replace usage of whitelist with allowlistThorsten Behrens1-1/+1
Background and motivation: https://tools.ietf.org/html/draft-knodel-terminology-02 [API CHANGE] officecfg::Office::Common::Misc::OpenCLWhiteList -> OpenCLAllowList Change-Id: I65636b19b13e4af1e4851f70e78053f3443d6bb1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98181 Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-07-10replace usage of blacklist with denylistThorsten Behrens3-14/+14
.. and a few cases of instead doing blacklist->excludelist where that made more sense. Background and motivation: https://tools.ietf.org/html/draft-knodel-terminology-02 [API CHANGE] officecfg::Office::Canvas::DeviceBlacklist -> DeviceDenylist [API CHANGE] officecfg::Office::Canvas::BlacklistCurrentDevice -> DenylistCurrentDevice [API CHANGE] officecfg::Office::Common::Misc::OpenCLBlackList -> OpenCLDenyList Change-Id: Ia35e25496bf0cc0692d5de4cb66bfc232d3a869e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98180 Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
2020-07-06cairo/canvas: create instances with uno constructorsNoel Grandin7-86/+28
See tdf#74608 for motivation Change-Id: I02411b23136051bfd0cd02d5378297f99127017f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98189 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-05canvas/simple: create instances with uno constructorsNoel Grandin2-15/+9
See tdf#74608 for motivation Change-Id: I2635df49edc2124f41a557110332ce5646cc59ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98093 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-05canvas/vcl: create instances with uno constructorsNoel Grandin7-81/+27
See tdf#74608 for motivation Change-Id: Ifcd31616228234433d8d46fef50707de9d17f3b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98092 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-05canvas/opengl: create instances with uno constructorsNoel Grandin2-27/+12
See tdf#74608 for motivation Change-Id: I2189622106e0c013567662c7bd81a057da65bf92 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97935 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-29Small refactorMike Kaganski1-16/+8
Change-Id: I14021d3e0b83dcd4fb5544239e982c8ada32d029 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97429 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-06-24use more std::container::insert instead of std::copyNoel Grandin2-9/+4
which is both more compact code, and more efficient, since the insert method can do smarter resizing Change-Id: I17f226660f87cdf002edccc29b4af8fd59a25f91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96948 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-06-15vcl canvas, don't draw bezier curves as straight lines (tdf#133905)Luboš Luňák1-21/+8
Change-Id: I8a5029ef7aa6e8f46b13f0713445da435b47dbed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/96209 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-05-28Make loplugin:simplifypointertobool handle parenthesized expressionsStephan Bergmann6-7/+7
...as discussed as an open TODO in the commit message of fe6cce01c88d045a1fcf09acf049c34c22299b02 "Fix loplugin:simplifypointertobool for libstdc++ std::shared_ptr". The necessary changes across the code base have been done fully automatically with the rewriting plugin on Linux. (All those changes apparently involve uses of macro arguments wrapped in parentheses in the macro body, but always in conditionally-converted-to-bool contexts. In other contexts, such automatic rewriting would add the "bool" to the macro body, which would be wrong in general, but we apparently get away with that sloppy coding for now.) The parenExprs_ stack that fe6cce01c88d045a1fcf09acf049c34c22299b02 had introduced to treat such (then-undetected, it had turned out) parenthesized cases now turns out to not be needed after all. Change-Id: I2021f61c2e2805be7e18b38edf8744d186cac3cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95010 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-05-28loplugin:simplifybool in canvas..cuiNoel Grandin1-8/+8
Change-Id: Ib7c3b381ce4456e3d48538ee6f762ceaf2784fe1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94973 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-26Fix loplugin:simplifypointertobool for libstdc++ std::shared_ptrStephan Bergmann4-8/+8
...where the get member function is defined on a std::__shared_ptr base class, so loplugin:simplifypointertobool used to miss those until now. (While e.g. using libc++ on macOS found those cases.) 366d08f2f6d4de922f6099c62bb81b49d89e0a68 "new loplugin:simplifypointertobool" was mistaken in breaking isSmartPointerType(const clang::Type* t) out of isSmartPointerType(const Expr* e); c874294ad9fb178df47c66875bfbdec466e39763 "Fix detection of std::unique_ptr/shared_ptr in loplugin:redundantpointerops" had introduced that indivisible two-step algorithm on purpose. The amount of additional hits (on Linux) apparently asked for turning loplugin:simplifypointertobool into a rewriting plugin. Which in turn showed that the naive adivce to just "drop the get()" is not sufficient in places that are not contextually converted to bool, as those places need to be wrapped in a bool(...) functional cast now. If the expression was already wrapped in parentheses, those could be reused as part of the functional cast, but implementing that showed that such cases are not yet found at all by the existing loplugin:simplifypointertobool. Lets leave that TODO for another commit. Besides the changes to compilerplugins/ itself, this change has been generated fully automatically with the rewriting plugin on Linux. Change-Id: I83107d6f634fc9ac232986f49044d7017df83e2a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94888 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Jenkins
2020-05-24isCairoRenderable is newly unusedCaolán McNamara2-29/+0
Change-Id: I3234509406989661a2e5d3866bee057c17984437 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94738 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-24remove now unnecessary cairo/virtual-device syncingCaolán McNamara2-35/+3
Change-Id: I0dc88b1e7c6c1ac336bbfb772c8ebced5e1b432c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94737 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-24platforms using the cairo canvas use cairo for text rendering alreadyCaolán McNamara3-195/+12
this wasn't true at the time the canvas text rendering was written but it is true now so its better now to just simplify this to using the vcl text rendering to render the text through cairo Change-Id: I1e63496e03e2cedc3e36e2bf10b0eab90a549629 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94736 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2020-05-22remove unnecessary polypolygon subdivideLuboš Luňák1-6/+0
As the comment already says, it's not necessary. And it is partially responsible for tdf#133016 by splitting an area into smaller parts, which then do not line up completely when AA-ed. Change-Id: If35e2118a0cd9c9b315b9666165c51659a9434e7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94578 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-05-15use for-range on Sequence in basctl..canvasNoel Grandin3-10/+9
Change-Id: Idad3d8fbe785c7b1b8b287a3227372adb2757de8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/94260 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-10new loplugin:simplifypointertoboolNoel Grandin3-7/+7
Change-Id: Iff68e8f379614a6ab6a6e0d1bad18e70bc76d76a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/91907 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-08compact namespace in canvas..cuiNoel Grandin7-25/+23
Change-Id: I7bd0c2a55b936896fcfe7e1a374871008a18618f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93706 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-05-07fix bug in extracting propertyNoel Grandin1-1/+1
introduced with commit 17cd7dd708631f7af9e66860b403627416e4545e tdf#43671 set emphasis mark of vcl::Font (windows). but has probably never been a problem because I guess this propertyset almost always has 0 or 1 element. Change-Id: I17c64e376ee81cc9f92173015d2632331c63ae0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/93643 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-27Make upcasting css::uno::Reference ctor require complete typesStephan Bergmann1-0/+1
The main reason for the "home-grown" UpCast introduced with 904b3d1fceee5827076758ed2a81f80cb73493ca "Up-cast conversion constructor for css::uno::Reference" in 2013 was probably that we could not yet rely on C++11 std::is_base_of back then. A (welcome) side effect was that the derived class could be incomplete. However, specializations of UpCast relying on whether or not T2 is incomplete are obviously an ODR violation if the type is incomplete in some TUs and complete (and derived from T1) in others. And even if UpCast had internal linkage, it would still be brittle that its behavior depends on the completeness of T2 at the point of the template's instantiation, and not necessarily at the point of use. That means we should better base that ctor on std::is_base_of (which we can do now since 39a1edd6fec902ef378acce8af42c4d7fba280d0 "Make css::uno::Reference upcast ctor LIBO_INTERNAL_ONLY"), which causes a compilation error at least on Clang and GCC if the completeness requirements are not met. This change fixes all the cases where types need to be complete now, plus any resulting loplugin:referencecasting warnings ("the source reference is already a subtype of the destination reference"). Change-Id: Ieb9e3552e90adbf2c5a5af933dcb872e20661a2f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92950 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-04-22tdf#42949 Simplify use of rtl::math::approxEqual in include/basegfx/Gabor Kelemen4-0/+4
Turns out we can save about 500Mb of preprocessor input if we use rtl_math_approxEqual from rtl/math.h instead of its C++ wrapper rtl::math::approxEqual from rtl/math.hxx and manage the fallout accordingly. Before: bin/includebloat.awk | head sum total bytes included (excluding system headers): 19017296671 After: $ bin/includebloat.awk | head sum total bytes included (excluding system headers): 18535432672 Change-Id: I1691171f3a309405a7099882ad9989d147f59118 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92508 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2020-04-18loplugin:flatten in canvasNoel Grandin14-672/+672
Change-Id: If14af63ab4f8fc7b9807319a2100f371ee103465 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92481 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-04-14loplugin:buriedassign in c*Noel Grandin2-13/+16
Change-Id: Id14fed7e5c0f588ad3c927f12251432d12c1a7c8 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92190 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-03-23tdf#124176 Use pragma once instead of include guardsgokaysatir7-28/+7
Change-Id: I3077e6e3a043401e66cd527c5f69b8571e8b25d5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90915 Tested-by: Jenkins Reviewed-by: Muhammet Kara <muhammet.kara@collabora.com>
2020-03-12tdf#130977 replace `rtl::math::isFinite` with `std::isfinite`.Yukio Siraichi1-50/+50
- make all calls look like `std::isfinite`. - change the comments referring `rtl::math::isFinite`. Change-Id: I0cde9ceb9f20150467b454cddde5e62003cfde1a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/90234 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2020-02-21Drop o3tl::optional wrapperStephan Bergmann1-2/+2
...now that macOS builds are guaranteed to have std::optional since 358146bbbd1b9775c12770fb5e497b6ec5adfc51 "Bump macOS build baseline to Xcode 11.3 and macOS 10.14.4". The change is done mostly mechanically with > for i in $(git grep -Fl optional); do > sed -i -e 's:<o3tl/optional\.hxx>\|\"o3tl/optional\.hxx\":<optional>:' \ > -e 's/\<o3tl::optional\>/std::optional/g' \ > -e 's/\<o3tl::make_optional\>/std::make_optional/g' "$i" > done > for i in $(git grep -Flw o3tl::nullopt); do > sed -i -e 's/\<o3tl::nullopt\>/std::nullopt/g' "$i" > done (though that causes some of the resulting #include <optional> to appear at different places relative to other includes than if they had been added manually), plus a few manual modifications: * adapt bin/find-unneeded-includes * adapt desktop/IwyuFilter_desktop.yaml * remove include/o3tl/optional.hxx * quote resulting "<"/">" as "&lt;"/"&gt;" in officecfg/registry/cppheader.xsl * and then solenv/clang-format/reformat-formatted-files Change-Id: I68833d9f7945e57aa2bc703349cbc5a56b342273 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89165 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-02-19avoid pointless alpha->mask conversionLuboš Luňák1-4/+12
The code is from 2008, so I'm rather sure at least Skia is modern enough to handle alpha at least as well as a mask (if not better). Change-Id: Ic53d5740978bce106506a182100eba927a419257 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/89010 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2020-02-17document CANVAS_SPRITE_BOUNDSLuboš Luňák1-0/+6
From 52c998be025563802a5056a15352e4608311be1d. Change-Id: I672fa3884480e251bcbd4e32587866893f5df2c3
2020-02-16draw sprite bounds in vclcanvas only if explicitly asked forLuboš Luňák1-1/+4
The #ifdef on debug level got reduced to normal debug builds as an Easy Hack in f0de4374fffe7f, but that means that the green debug lines are now drawn in all debug builds. The frame info debug text is at least obviously debug output, but "random" green lines look like drawing problems, so disable them, unless explicitly asked for. Change-Id: I56ebc799ca72565cabee35552c4bd2641e2393c7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/88713 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>