summaryrefslogtreecommitdiff
path: root/canvas
AgeCommit message (Collapse)Author
2019-02-19Some uses of C++17 class template argument deductionStephan Bergmann
Change-Id: I47c469c0fcdff41d83729be9489c946e81ef3686 Reviewed-on: https://gerrit.libreoffice.org/68020 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-02-19pretty up logging of exceptionsNoel Grandin
Add exceptionToString() and getCaughtExceptionAsString() methods in tools. Use the new methods in DbgUnhandledException() Add special-case case code for most of the exceptions that contain extra fields, so all of the relevant data ends up in the log Change-Id: I376f6549b4d7bd480202f8bff17a454657c75ece Reviewed-on: https://gerrit.libreoffice.org/67857 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-02-08loplugin:indentation in canvas..chart2Noel Grandin
Change-Id: I9ef57a2e9aaf298f4cfd029aa9b8143871b1bc21 Reviewed-on: https://gerrit.libreoffice.org/67526 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-01-31loplugin:unnecessaryparen (clang-cl)Stephan Bergmann
Change-Id: I0cd14e0ace9c9d2fcd880477b0485295e3010b71 Reviewed-on: https://gerrit.libreoffice.org/67138 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-01-30loplugin:redundantinline (clang-cl)Stephan Bergmann
Change-Id: Ib6320ddc049e93cca4c5931ad28d1873d34bd8b4 Reviewed-on: https://gerrit.libreoffice.org/67137 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-01-24loplugin:constparams in basctl..chart2Noel Grandin
Change-Id: I9ac9a34ba58f411d5aad235407553df63216319c Reviewed-on: https://gerrit.libreoffice.org/66791 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-01-15tdf#42949 Fix IWYU warnings in include/toolkit/*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Icebcf1a6ab073dce935a74ce79ee0f302b62e8a8 Reviewed-on: https://gerrit.libreoffice.org/65947 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-01-08convert "*xxx.get()" to "*xxx"Noel Grandin
Change-Id: Ic307226591ff9702957ccdec486ccf70357eb6d9 Reviewed-on: https://gerrit.libreoffice.org/65951 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-12-21Skip Executable_canvasdemo unless DESKTOPTor Lillqvist
For example, we don't build the vclmain library for non-DESKTOP. Change-Id: I01a1bcd6387e86c60e5543fcb8009fd1df914a20
2018-12-20Convert canvasdemo to gbuildJan-Marek Glogowski
Change-Id: Ieb3b1846a5a31915297cdc80053dba3d1656aba2 Reviewed-on: https://gerrit.libreoffice.org/65365 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2018-12-10tdf#42949 Fix IWYU warnings in include/vcl/s*Gabor Kelemen
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 Bergmann
...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-08Remove misguided FALLTHROUGH commentsStephan Bergmann
...between adjacent switch labels without any intervening statements Change-Id: Ieb8a0d9f71ea4382b5f7d005cdf7111d06aeb5d0 Reviewed-on: https://gerrit.libreoffice.org/64789 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-12-07remove unused ConfigItemMode::DelayedUpdateNoel Grandin
unused ever since commit c1758889cbd5e8e4afb1044425c908715eb3e1cd Date: Fri Nov 11 22:48:37 2011 +0100 Heavily simplified utl::ConfigManager. and rename ConfigItemMode::ImmediateUpdate to NONE, since it doesn't mean that anymore Change-Id: Ia1d06142a25c9eea0f1d30b70653eed325a21b37 Reviewed-on: https://gerrit.libreoffice.org/64719 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-12-05Fix typoAndrea Gelmini
Change-Id: Iedda3dca9937e85b7d036cef193577486fd5d3d1 Reviewed-on: https://gerrit.libreoffice.org/64607 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2018-12-05Fix typoAndrea Gelmini
Change-Id: Iff7717094f82fdbb13b09c05cb44d059c7ba5f3b Reviewed-on: https://gerrit.libreoffice.org/64575 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2018-12-05loplugin:unnecessaryparen include more assignmentsNoel Grandin
Change-Id: I9fb8366634b31230b732dd38a98f800075529714 Reviewed-on: https://gerrit.libreoffice.org/64510 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-12-03Fix typoAndrea Gelmini
Change-Id: I9d29988df9d591324486226d1dfccb45c3f75b20 Reviewed-on: https://gerrit.libreoffice.org/64487 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2018-12-02tdf#120703 PVS: logical AND had been used instead of bitwiseMike Kaganski
V560 A part of conditional expression is always true: sal_Int32(0xFF) != 0. Change-Id: I5f19c4ff20e91767d22a85239f9693d68ff360b1 Reviewed-on: https://gerrit.libreoffice.org/64414 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-11-27tdf#42949 Fix IWYU warnings in include/vcl/[f-h]*Gabor Kelemen
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-24drop unused ColorType in canvasNoel Grandin
Change-Id: I319cc18db1b068bdfe1e7a9b6fbabb74ab7be04b Reviewed-on: https://gerrit.libreoffice.org/63908 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-21loplugin:redundantfcast improvementsNoel Grandin
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 Kelemen
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>
2018-11-13loplugin singlevalfields improvementNoel Grandin
checking for casting to void* turns out to mask useful stuff, so remove that and just deal with a few extra false+ Change-Id: Id9700d7ceda90ba8fdb38aa870f13a7ca3acb668 Reviewed-on: https://gerrit.libreoffice.org/63145 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-11-03tdf#120703 PVS: V547 Expression is always true/falseMike Kaganski
Change-Id: I75082c85862b83ed2503900186ce9c70783e54db Reviewed-on: https://gerrit.libreoffice.org/62817 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-11-01tdf#43671 set emphasis mark of vcl::Font (opengl).Mark Hung
Change-Id: Ib61765b495c867bcb461ee7324eb7b92ed4da864 Reviewed-on: https://gerrit.libreoffice.org/62631 Tested-by: Jenkins Reviewed-by: Mark Hung <marklh9@gmail.com>
2018-11-01tdf#43671 set emphasis mark of vcl::Font (windows).Mark Hung
Process extra font properties of the canvas font to set emphasis mark when creating vcl::Font. Change-Id: I18ea1aecdde92ed3c777b0db27fcee7976e88476 Reviewed-on: https://gerrit.libreoffice.org/62245 Tested-by: Jenkins Reviewed-by: Mark Hung <marklh9@gmail.com>
2018-10-30loplugin:returnconstantNoel Grandin
Change-Id: I5b859de6ccd908eee4356acbe1f12b441ab36df3 Reviewed-on: https://gerrit.libreoffice.org/62539 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-26loplugin:singlevalfields improvementNoel Grandin
look for any kind of types, not just POD types, helps to find smart pointer fields that are only assigned nullptr Change-Id: I2d887e98db012f03b646e1023985bcc196285abc Reviewed-on: https://gerrit.libreoffice.org/62382 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-24remove more rtl::OUString and OString prefixesNoel Grandin
which seem to have snuck back in since the great rounds of removals. Change-Id: I85f7f5f4801c0b48dae8b50f51f83595b286d6a1 Reviewed-on: https://gerrit.libreoffice.org/62229 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-23clang-tidy performance-unnecessary-copy-init in canvas..cuiNoel Grandin
Change-Id: I08c137d852b5f1f817c171ee4f1cee7971417dc4 Reviewed-on: https://gerrit.libreoffice.org/62214 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-21pvs-studio: initialize maLockedRectCaolán McNamara
Change-Id: If95854af5072c9e693bec4011cdcd6c041dffdf3 Reviewed-on: https://gerrit.libreoffice.org/62094 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-21pvs-studio: reference becomes invalid when temporary object destroyedCaolán McNamara
Change-Id: Ibe39738e1a607e3bca273fc03f0f3232024254bc Reviewed-on: https://gerrit.libreoffice.org/62093 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-20new/delete mismatchCaolán McNamara
Change-Id: I910366753d1d365e0388262c98fca12d000e83e5 Reviewed-on: https://gerrit.libreoffice.org/61979 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-19clang-tidy readability-container-size-emptyNoel Grandin
Change-Id: I1df70b7dff5ebb6048f7fc618789faa15ca5d422 Reviewed-on: https://gerrit.libreoffice.org/61967 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-17clang-tidy readability-redundant-smartptr-getNoel Grandin
redundant get() call on smart pointer Change-Id: Icb5a03bbc15e79a30d3d135a507d22914d15c2bd Reviewed-on: https://gerrit.libreoffice.org/61837 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-10-14unowrap.hxx is also exposed for toolkit onlyCaolán McNamara
Change-Id: Ife3648c8ca84c942f02fb6eab2990ec3eb3eb3f9 Reviewed-on: https://gerrit.libreoffice.org/61764 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-10-09Extend loplugin:redundantinline to catch inline functions w/o external linkageStephan Bergmann
...where "inline" (in its meaning of "this function can be defined in multiple translation units") thus doesn't make much sense. (As discussed in compilerplugins/clang/redundantinline.cxx, exempt such "static inline" functions in include files for now.) All the rewriting has been done automatically by the plugin, except for one instance in sw/source/ui/frmdlg/column.cxx that used to involve an #if), plus some subsequent solenv/clang-format/reformat-formatted-files. Change-Id: Ib8b996b651aeafc03bbdc8890faa05ed50517224 Reviewed-on: https://gerrit.libreoffice.org/61573 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-10-09tdf#55361 fix result of showing RTL text in the animation.Mark Hung
Call drawTextArray with SalLayoutFlags::BiDiRTL if the text direction of a TextLayout is RTL. Change-Id: I1a3bfaee5521eea77b44350c21c104cbf72fac97 Reviewed-on: https://gerrit.libreoffice.org/61460 Tested-by: Jenkins Reviewed-by: Mark Hung <marklh9@gmail.com>
2018-10-08tdf#42949 Fix IWYU warnings in include/comphelper/[m-z]*Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I04c5ba277d5b3398c07de6ae66713d977636088d Reviewed-on: https://gerrit.libreoffice.org/61347 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
2018-09-20Support buffering SystemDependent GraphicData (III)Armin Le Grand
This change is for speedup of fat line drawing when using X11. This is a long-term problem which never really progressed, but is avoided using Cairo in the future. Still - if used, speedup using current state and buffering possibilities. Two speedup steps will be used: (1) The tesselation is no longer done using trapezoids. That works (but was done wrong leaving artifacts) but is not fast and done every time. It is even not done with FatLines and more than 1000 points. New version will use triangulation. Dspite using the existing triangulator (that works but is slow) extend the FatLine geometry creator to directly create triangles. This is also necessary since for buffering that data a transformation-invariant version is needed (in device coordinates the data changes all the time when scrolling). Trapezoids are by definition *not* transformation-invariant (e.g. rotation) (2) Buffer that triangulation - with the needed care and watch. It is e.g. necessary to react on 'hairlines' since these change their logical LineWidth view-dependent (zoom). In those cases, the buffered data *has* to be removed due to the base for buffering is the created FatLine geometry based on one stable logical LineWidth Also took the time to adapt B2DPolygonTriangulator to use an own data type (B2DTriangle) and a vector of these for better understandability and security. Adapted all usages as needed. Change-Id: Iedb2932b094a8786fd9c32d0d0ab1ca603a1a7b2 Reviewed-on: https://gerrit.libreoffice.org/60818 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@cib.de>
2018-09-17New loplugin:externalStephan Bergmann
...warning about (for now only) functions and variables with external linkage that likely don't need it. The problems with moving entities into unnamed namespacs and breaking ADL (as alluded to in comments in compilerplugins/clang/external.cxx) are illustrated by the fact that while struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } returns 1, both moving just the struct S2 into an nunnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { namespace { struct S2: S1 { int f() { return 1; } }; } int f(S2 s) { return s.f(); } } int main() { return f(N::S2()); } as well as moving just the function f overload into an unnamed namespace, struct S1 { int f() { return 0; } }; int f(S1 s) { return s.f(); } namespace N { struct S2: S1 { int f() { return 1; } }; namespace { int f(S2 s) { return s.f(); } } } int main() { return f(N::S2()); } would each change the program to return 0 instead. Change-Id: I4d09f7ac5e8f9bcd6e6bde4712608444b642265c Reviewed-on: https://gerrit.libreoffice.org/60539 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-09-10No more need for extra local variablesStephan Bergmann
...after 453fde35bb838febf73bfda0bd981ee270c9b12e "BitmapFilter::execute can be const". This reverts the call-site changes of bce47223099bb3349d96af9d6b1fe88bcdd539df "clang-tidy bugprone-use-after-move in BitmapFilter::Filter" again. Change-Id: I5ce4eb7ddce90fb779ddfb1c5864fd4785708175 Reviewed-on: https://gerrit.libreoffice.org/60255 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-09-06clang-tidy bugprone-use-after-move in BitmapFilter::FilterNoel Grandin
which necesitated changing the API and hence the call sites Change-Id: Id417a235bf9b2bf1a3d152dc6600c0635486cafa Reviewed-on: https://gerrit.libreoffice.org/60086 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-09-06loplugin:simplifyconstruct in canvas..cuiNoel Grandin
Change-Id: I02eba1df117a9d0df42bcac13c3251cb4fa6da14 Reviewed-on: https://gerrit.libreoffice.org/60074 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-08-04Use more basegfx deg<->rad functions, instead of direct formulasMike Kaganski
Also make the functions constexpr. Due to slight changes in floating-point arithmetics (90.0 instead of 180.0, M_PI2 instead of M_PI resp.), results might differ in last digits (usually 17th decimal digit). This has lead to need to tweak char2dump's PieChartTest unit test. Change-Id: I20323dd7dab27e4deb408ea4181e390cc05e7cd3 Reviewed-on: https://gerrit.libreoffice.org/58583 Tested-by: Jenkins Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2018-07-27Remove unused type declaration CanvasRefMuhammet Kara
Change-Id: Ie40652fbe13c6bc4bd7486ed0a132db62648689c Reviewed-on: https://gerrit.libreoffice.org/58201 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-07-22fix oss-fuzz buildCaolán McNamara
Change-Id: I166d5f675d1b807e023cc19f72071fc77d3dd036 Reviewed-on: https://gerrit.libreoffice.org/57823 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2018-07-20tdf#118107 canvas opengl: avoid assertion failure with negative widthsMiklos Vajna
In case an Impress shape has a "Fade in and Swivel" animation attached, canvas calls OutputDevice::DrawBitmapEx() with a negative width. This results in a call to OutputDevice::DrawDeviceAlphaBitmap(), which asserts that the height/width is not negative. Fix the problem by transforming the bitmap before calling OutputDevice::DrawBitmapEx() in the GL case, similarly to how "complex" transformations are handled already. Change-Id: I65ccc8a984132c5921d6096bfe9c7a8fcfacd8dd Reviewed-on: https://gerrit.libreoffice.org/57774 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins
2018-07-19loplugin:constantparamNoel Grandin
Change-Id: I8e2e9009f0a70d2fa390e03688a988ac935d5f36 Reviewed-on: https://gerrit.libreoffice.org/57643 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>