Commit Graph
34 Commits
Author SHA1 Message Date
Gabor Kelemen 99741c0ece Remove obsolete fw declarations from cppcanvas/ cui/
found with bin/find-unneeded-includes --fwdecl

Change-Id: Ie0669b460378c909d5cee2a786763e4d54087ff0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183881
Tested-by: Jenkins
Reviewed-by: Gabor Kelemen <gabor.kelemen.extern@allotropia.de>
2025-04-13 10:58:12 +02:00
Noel Grandin 859e0acc39 clang-tidy modernize-pass-by-value in cppcanvas
Change-Id: I01e638c468f0941e042a839f73801a3ae3cb022a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135310
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-06-02 17:43:27 +02:00
George Bateman 24491636d3 tdf#124176 Use #pragma once in cppcanvas
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: I984bb1056da13d163f7fe654d780502a6d34231f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/100253
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2020-09-04 08:52:52 +02:00
Noel Grandin baed93c802 compact namespace: cppcanvas
Change-Id: I53826803bd7749b7fead5e464e2dc65212d5bb9e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/98908
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-16 20:37:01 +02:00
Noel Grandin 6751a89552 compact namespace in canvas..cui
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-08 12:40:03 +02:00
Stephan Bergmann 9ad252b2e7 Drop o3tl::optional wrapper
...now that macOS builds are guaranteed to have std::optional since
358146bbbd "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-21 14:50:28 +01:00
Stephan Bergmann 7e403195e5 Introduce o3tl::optional as an alias for std::optional
...with a boost::optional fallback for Xcode < 10 (as std::optional is only
available starting with Xcode 10 according to
<https://en.cppreference.com/w/cpp/compiler_support>, and our baseline for iOS
and macOS is still Xcode 9.3 according to README.md).  And mechanically rewrite
all code to use o3tl::optional instead of boost::optional.

One immediate benefit is that disabling -Wmaybe-uninitialized for GCC as per
fed7c3deb3 "Slience bogus
-Werror=maybe-uninitialized" should no longer be necessary (and whose check
happened to no longer trigger for GCC 10 trunk, even though that compiler would
still emit bogus -Wmaybe-uninitialized for uses of boost::optional under
--enable-optimized, which made me ponder whether this switch from
boost::optional to std::optional would be a useful thing to do; I keep that
configure.ac check for now, though, and will only remove it in a follow up
commit).

Another longer-term benefit is that the code is now already in good shape for an
eventual switch to std::optional (a switch we would have done anyway once we no
longer need to support Xcode < 10).

Only desktop/qa/desktop_lib/test_desktop_lib.cxx heavily uses
boost::property_tree::ptree::get_child_optional returning boost::optional, so
let it keep using boost::optional for now.

After a number of preceding commits have paved the way for this change, this
commit is completely mechanical, done with

> git ls-files -z | grep -vz -e '^bin/find-unneeded-includes$' -e '^configure.ac$' -e '^desktop/qa/desktop_lib/test_desktop_lib.cxx$' -e '^dictionaries$' -e '^external/' -e '^helpcontent2$' -e '^include/IwyuFilter_include.yaml$' -e '^sc/IwyuFilter_sc.yaml$' -e '^solenv/gdb/boost/optional.py$' -e '^solenv/vs/LibreOffice.natvis$' -e '^translations$' -e '\.svg$' | xargs -0 sed -i -E -e 's|\<boost(/optional)?/optional\.hpp\>|o3tl/optional.hxx|g' -e 's/\<boost(\s*)::(\s*)(make_)?optional\>/o3tl\1::\2\3optional/g' -e 's/\<boost(\s*)::(\s*)none\>/o3tl\1::\2nullopt/g'

(before committing include/o3tl/optional.hxx, and relying on some GNU features).
It excludes some files where mention of boost::optional et al should apparently
not be changed (and the sub-repo directory stubs).  It turned out that all uses
of boost::none across the code base were in combination with boost::optional, so
had all to be rewritten as o3tl::nullopt.

Change-Id: Ibfd9f4b3d5a8aee6e6eed310b988c4e5ffd8b11b
Reviewed-on: https://gerrit.libreoffice.org/84128
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-01 14:57:16 +01:00
Gabor Kelemen 977c993353 tdf#42949 Fix IWYU warnings in cppcanvas/
Found with bin/find-unneeded-includes
Only removal proposals are dealt with here.

Change-Id: I3e6b35acf6266157d4cf634e2143e6e19a73102a
Reviewed-on: https://gerrit.libreoffice.org/81813
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-10-31 11:29:44 +01:00
Stephan Bergmann 3db830d354 Silence new Clang trunk -Wdefaulted-function-deleted
This mostly affects explicitly defaulted functions that had recently been user-
declared to silence new GCC trunk -Wdeprecated-copy.  It is not entirely clear
to me what the best approach is overall, see my mail
<http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20181001/245321.html>
"Re: r343285 - [cxx2a] P0641R2: (Some) type mismatches on defaulted functions
only", but lets just explicitly delete those functions for now.

Change-Id: If8c72f612f67a8feb8b03c2fb988c807e704ef03
Reviewed-on: https://gerrit.libreoffice.org/61259
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-10-02 21:54:00 +02:00
Stephan Bergmann 6844ef8a7e cppcanvas: avoid -Werror=deprecated-copy (GCC trunk towards GCC 9)
...by explicitly defaulting the copy/move functions (and, where needed in turn,
also a default ctor) for classes that have a user-declared dtor that does
nothing other than an implicitly-defined one would do, but needs to be user-
declared because it is virtual and potentially serves as a key function to
emit the vtable, or is non-public, etc.  There appears to be no good reason for
these classes to have a deleted copy assignment op, so just change that to
implicitly-defined, too.

Change-Id: I65fb6ea78a13b7b3d237529613c0489c8cf50614
Reviewed-on: https://gerrit.libreoffice.org/58119
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-07-27 08:28:46 +02:00
Noel Grandin f775249547 remove cppcanvas Color class
which actually does nothing useful. Looks like it was originally
intended to be used to implement color profiles, but since nothing
has happened on that front since it was created, safe to say it never
will. Probably not the right place in the graphics stack to do it
anyhow.

Change-Id: I36990db4036e3b4b2b75261fc430028562a6dbd9
Reviewed-on: https://gerrit.libreoffice.org/43240
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-10-09 21:05:09 +02:00
Stephan Bergmann 91dd2db17b loplugin:override: No more need for the "MSVC dtor override" workaround
The issue of 362d4f0cd4 "Explicitly mark
overriding destructors as 'virtual'" appears to no longer be a problem with
MSVC 2013.

(The little change in the rewriting code of compilerplugins/clang/override.cxx
was necessary to prevent an endless loop when adding "override" to

  OOO_DLLPUBLIC_CHARTTOOLS    virtual ~CloseableLifeTimeManager();

in chart2/source/inc/LifeTime.hxx, getting stuck in the leading
OOO_DLLPUBLIC_CHARTTOOLS macro.  Can't remember what that
isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.)

Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
2016-09-13 13:19:22 +02:00
Stephan Bergmann b36963c0a6 Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY code
Change-Id: I2ea407acd763ef2d7dae2d3b8f32525523ac8274
2015-10-12 17:52:29 +02:00
Stephan Bergmann bff4c13475 Replace "SAL_DELETED_FUNCTION" with "= delete" in LIBO_INTERNAL_ONLY code
Change-Id: I328ac7a95ccc87732efae48b567a0556865928f3
2015-10-12 17:52:26 +02:00
Noel Grandin 403c13487c loplugin:unusedmethods
Change-Id: I6801618efb5a66d24156fa429e026acb6ca03aba
Reviewed-on: https://gerrit.libreoffice.org/17506
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-08-05 09:39:22 +00:00
Thorsten Behrens 17ae282183 Whitespace cleanup / re-alignment.
Get alignment back after various cleanups, including
a99520eb0a

Change-Id: I8a9004a600a04318ab8c1514f9b48c8b73fa9d70
2015-07-28 13:47:37 +02:00
Noel Grandin a99520eb0a com::sun::star->css in cppcanvas
Change-Id: Ibb7493456c20600fe3e823c74af6e572d9577817
Reviewed-on: https://gerrit.libreoffice.org/17379
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-28 10:41:35 +00:00
Caolán McNamara ad62165065 cppcheck: noExplicitConstructor
Change-Id: Ic33ee6936f40bec4f3a82aea39a180ae6e9a0928
2015-06-09 10:34:00 +01:00
Stephan Bergmann b13b01a2bc loplugin:deletedspecial
Change-Id: I988d7cdfa048a3b093ebc34f9016ac42440daa4b
2015-02-07 12:35:57 +01:00
Thomas Arnhold 2bd7767d01 Resolves fdo#70681: fixincludeguards.pl: all that's left
Change-Id: I3e51a62710bb46c8255fd228d41d9300c90a1fb5
Reviewed-on: https://gerrit.libreoffice.org/9360
Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
Tested-by: Thomas Arnhold <thomas@arnhold.org>
2014-05-15 12:50:46 +00:00
Stephan Bergmann 70cc2b191b First batch of adding SAL_OVERRRIDE to overriding function declarations
...mostly done with a rewriting Clang plugin, with just some manual tweaking
necessary to fix poor macro usage.

Change-Id: I71fa20213e86be10de332ece0aa273239df7b61a
2014-03-26 16:39:26 +01:00
Luboš Luňák ba044b1e96 remove needless forward rtl::OUString declarations
Change-Id: I97d91a758dd82d64768d75c1d2ddd279de5f6034
2013-04-07 14:23:12 +02:00
Luboš Luňák 1946794ae0 mass removal of rtl:: prefixes for O(U)String*
Modules sal, salhelper, cppu, cppuhelper, codemaker (selectively) and odk
have kept them, in order not to break external API (the automatic using declaration
is LO-internal).

Change-Id: I588fc9e0c45b914f824f91c0376980621d730f09
2013-04-07 14:23:11 +02:00
Michael Meeks b9042fad7c re-base on ALv2 code.
Change-Id: I6c145e984c885c7e06caa1c27bfb354ea49ad9ce
2012-06-21 15:00:05 +01:00
Sebastian Spaeth 4905a19032 Add vim/emacs modelines to all source files
Fixes #fdo30794
Based on bin/add-modelines script (originally posted in mail
1286706307.1871.1399280959@webmail.messagingengine.com)

Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
2010-10-14 17:02:15 +02:00
Jens-Heiner Rechtien 8764506704 changefileheader2: #i109125#: change source file copyright notice from Sun Microsystems to Oracle; remove CVS style keywords (RCSfile, Revision) 2010-02-12 15:01:35 +01:00
Rüdiger Timm 6359c9674b INTEGRATION: CWS changefileheader (1.8.22); FILE MERGED
2008/03/31 13:07:09 rt 1.8.22.1: #i87441# Change license header to LPGL v3.
2008-04-11 09:19:13 +00:00
Oliver Bolte 3e7cc5d8f1 INTEGRATION: CWS presfixes12 (1.7.50); FILE MERGED
2007/03/08 21:37:08 thb 1.7.50.2: #i37778# Added extra setClip() method to be able to set no clip - setting a clip with zero polygons by definition clips everything
2007/02/20 22:29:30 thb 1.7.50.1: #i37778# Added XCanvas::clear() to all relevant interfaces
2007-07-17 14:26:57 +00:00
Kurt Zenker a9581edb32 INTEGRATION: CWS canvas02 (1.5.10); FILE MERGED
2005/10/09 09:19:16 thb 1.5.10.2: RESYNC: (1.5-1.6); FILE MERGED
2005/08/19 11:08:34 thb 1.5.10.1: #i53538# Changed clip setting to use basegfx polygon (cppcanvas::PolyPolygon contains reference back to canvas); changed direct access to base class member to getter method, thus, providing the actual XCanvas clip polygon lazily.
2005-11-02 12:43:26 +00:00
Rüdiger Timm f47512ea73 INTEGRATION: CWS ooo19126 (1.5.20); FILE MERGED
2005/09/05 18:41:03 rt 1.5.20.1: #i54170# Change license header: remove SISSL
2005-09-08 07:27:58 +00:00
Vladimir Glazounov 54e804342b INTEGRATION: CWS presfixes01 (1.4.6); FILE MERGED
2005/02/16 11:14:36 fs 1.4.6.1: #i42558# drafts.com.sun.star.drawing/rendering/geometry moved to com.sun.star.*
2005-03-10 12:29:21 +00:00
Rüdiger Timm 0cca9757de INTEGRATION: CWS presentationengine01 (1.2.2); FILE MERGED
2004/07/20 19:09:05 thb 1.2.2.3: #110496# Unified include statements; removed external prefix from boost includes
2004/06/25 10:30:30 thb 1.2.2.2: #110496# Some header cleanups (missing forward declarations), changed Canvas and derived to emulate covariant return types on clone() (not directly possible with shared_ptr)
2004/04/05 15:58:52 thb 1.2.2.1: Resync with canvas01 changes
2004-11-26 19:59:59 +00:00
Rüdiger Timm a3e198eaf2 INTEGRATION: CWS ooo20040704 (1.2.10); FILE MERGED
2004/06/28 12:12:43 cmc 1.2.10.1: #i30801 no need to prepend external before boost
2004-09-08 15:59:37 +00:00
Thorsten Behrens f045b7b4f5 #110496# Merge from cws_srx645_canvas01: first working version of XCanvas C++ wrapper, providing encapsulation against possible API changes and some amount of convenience. 2004-03-18 09:41:15 +00:00