summaryrefslogtreecommitdiff
path: root/slideshow/source/engine
AgeCommit message (Collapse)Author
2023-05-07use AlphaMask for variables when calling GetAlphaMaskNoel Grandin
Right now this doesn't make any difference, since Bitmap is the superclass of AlphaMask. But when I switch to using alpha instead of transparency, passing AlphaMask around is going to mean something different to passing plain Bitmap around. Change-Id: Ic1541e5f0a3b97331793cd23e23115faa7f382b0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151463 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-04tdf#154839 Add navigation buttons for slidesAmin Irgaliev
Change-Id: Ie9a533acf94f5760c6233aa70259bec620f420fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150448 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-04-30Use getXWeak in slideshowMike Kaganski
Change-Id: Ica0290ee46286ff6d82634c378e40b3605d48a54 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150869 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2023-03-30loplugin:stringadd in variousNoel Grandin
when applying my upcoming patch to also consider O[U]StringBuffer Change-Id: I8cf6a47ad357ddc73e2c430d966be72d5efd1485 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149767 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
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-10improve loplugin:unnecessarylockingNoel Grandin
to find more locking we can remove Change-Id: Ief7bc5ec2a1ff31f22a0ad366910b7fcc4725818 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148599 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-02-24BaseMutex->std::mutex in slideshow::EventMultiplexerListenerNoel Grandin
Change-Id: Icdb38eb85a93cc285489372bbd80605bfcd36249 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147582 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-09use std::this_thread::sleep_for instead of osl equivalentArnaud VERSINI
Change-Id: I5b4edc5417e5bb5e082688df616e1d5735717d92 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142357 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-28Presenter screen wrong position of pointerDaniel Lohmann
The pointer is drawn on the presenting screen and the presenter console. In the presenter console the position of the pointer is not matching the position on the slide or position in the impress remote app. This fixed by this commit. Change-Id: I5650f62304934d2acb558e32a8e9de78a9f0a12a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143341 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2022-11-28Do not draw pointer on paused mode screenDaniel Lohmann
If the pointer is drawn on the paused mode screen, around the pointer the slide will be visible. Everywhere where the pointer was will the slide is visible. Preventing to draw the pointer in the paused mode will fix this issue. Change-Id: Ica8fedca5710adfc79ed78a30485bd755e3b3b31 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143340 Tested-by: Jenkins Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
2022-11-10Fix typoAndrea Gelmini
Change-Id: Iaadab3d52a47deff3c1d2539068d197bbddd2852 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142505 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-11-09Resolves: tdf#148884 impress slideshow uses white text on white in dark modeCaolán McNamara
In dark mode impress's auto text color assumes it will render against the DOCCOLOR by default, so leaving this as white gives white on white, this looks the simplest approach, propogate DOCCOLOR as the default slideshow background instead of reformatting to render onto a white slideshow Change-Id: Id484e14ce96fd05cb16a35586d83e37b36933c20 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142464 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-09-21cid#1515521 Dereference before null checkCaolán McNamara
Change-Id: Ida2a6fa69b5ca771c87669b8c58e8febb0f8a2f0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140307 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-09-19Fix typosAndrea Gelmini
Change-Id: If24b9756d7fd8f6346580b4da84fac4f5ab1d3ae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140198 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-09-19tdf#150402 Correct wrong Bound of Shape in SlideshowArmin Le Grand (allotropia)
Added and use mbContainsPageField that gets set in prepareHyperlinkIndices() which has to be run anyways, so this will cause no change in execution speed. It lets us detect the potential error case that a PageField is contained in the Text of the Shape. That is a hint that maBounds contains the wrong Range and needs to be corrected. For more backgrund information please refer to tdf#150402, Comment 16. Change-Id: Ifee01fffdb6e2f5915aa705afc7b5842781aae91 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140144 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2022-09-16vcl: AnimationBitmap -> AnimationFrameChris Sherlock
The emphasis is not quite right. An animation is made up a sequence of *frames*, not bitmaps. A frame includes such things as position, size, timeout till the next frame *as well as* a bitmap. Note: had to regenerate a bunch of precompiled headers Change-Id: Ib1959452653857555f41e01ac0151d08c41a3b1c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/76460 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-09-11basegfx: replace typedef with a class B2DSize based on Size2DTomaž Vajngerl
Change-Id: Id8b3c2bcf0bf4be5aba2812b0edda479bc20c6a9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139683 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-09-02tdf#149969 slideshow: handle loop from the animation of a media shapeMiklos Vajna
Impress supported video looping on media shapes, while PowerPoint supports this as part of the animation tree for the slide. To be more specific, it seems in case there is play command, then it looks up if there is a media node of the timing tree that has the current shape as its target, and checks if the looping is enabled for this shape in this media node. The PPTX import already creates an (audio) node for the media shape and we have UNO API to set/get a RepatCount attribute on this. Rather than tweaking the PPTX import to create a different doc model, just extend the rendering so in case the shape doesn't enable looping we can also notice that an animation requested looping. The PPTX export doesn't write a media node for videos at the moment, so that still needs work. Change-Id: Ifc6600be760a954230243fd8151736656958a429 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139253 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-08-26tdf#149971 avmedia: implement video crop support in the gsteamer backendMiklos Vajna
If a media shape had cropping defined, we already took that into account when presenting a preview for it, but not during video playback. The reason for this is that the preview may be set by a file importer (e.g. PPTX) explicitly, in which case the preview is a bitmap we get without any video processing. As a start, implement video crop for the gstreamer backend (used on Linux), and also pass in the media item (containing crop and other properties) both during the edit view (MediaWindowImpl) and presenting (ViewMediaShape). We pass in the whole media item, so in case later other filters (e.g. black-and-white) are wanted, we have all that info in the backends already. Other backends (avmediaMacAVF and avmediawin) are untouched so far. svx/qa/unit/data/video-snapshot.pptx is modified to have a yellow border when cropping is unimplemented, which is now not visible with the gtreamer backend, matching PowerPoint behavior. PPTX export was working out of the box already. Change-Id: If26b7a4391bcffe9cbddd9933e1bab69be52924e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138867 Reviewed-by: Miklos Vajna <vmiklos@collabora.com> Tested-by: Jenkins
2022-08-23-Werror=redundant-moveStephan Bergmann
...with recent GCC 16 trunk. Introduced with 1a2926a995fdbdcdae0ca6407877084f3520e539 "use std::move when popping stuff off stacks" but which doesn't make sense here where std::priority_queue's top() unconditionally returns a const reference (unlike std::stack's top()). Change-Id: I408920220e3b7ffe775fa87f9edbfdc7721058db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138732 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-08-18Move tools/diagnose_ex.h to comphelper/diagnose_ex.hxxStephan Bergmann
...so that its TOOLS_WARN_EXCEPTION can be used in comphelper/source/misc/logging.cxx in a follow-up commit. (And while at it, rename from diangose_ex.h to the more appropriate diagnose_ex.hxx. The comphelper module is sufficiently low-level for this immediate use case, so use that at least for now; o3tl might be even more suitable but doesn't have a Library until now. Also, for the immediate use case it would have sufficed to only break DbgGetCaughtException, exceptionToString, TOOLS_WARN_EXCEPTION, TOOLS_WARN_EXCEPTION_IF, and TOOLS_INFO_EXCEPTION out of include/tools/diagnose_ex.h into an additional new include/comphelper/diagnose_ex.hxx, but its probably easier overall to just move the complete include file as is.) Change-Id: I9f3222d4ccf1a9ac29d7eb9ba1530d53e2affaee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138451 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-08-10Better cast to sal_[u]IntPtr when passing pointer to O[U]String::numberStephan Bergmann
Change-Id: I5b7a0fa060c1e0ae4aa194e0c1862f303dd8a2d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138062 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-08-03clang-tidy modernize-pass-by-value in slideshowNoel Grandin
Change-Id: I89a56aa3d267f22665769ba073a47d1208d8b55d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137745 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-07-14loplugin:moveitNoel Grandin
Change-Id: I2702e716dc669ffbb870d36d060e110288d7a744 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137043 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-07-11tools: rename getHeight/Width() to GetOpenHeight/Width()Chris Sherlock
By default Rectangle uses closed interval, if we really want to use half open intervals then we should specifically say as such in the name. Change-Id: Id7a91120ba1a1a4bc330014216b73a692dbf03a2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136575 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-06-27tdf#91456 OpenGL context rendered without slide on itdldld
When an OpenGL transition is initialized the screen might show for a short time a black screen, because the slide was not directly drawn onto the context and therefore a short black flash was visible on the beginning of the silde transition. This issue did on my side only occur, when the slide was changed by going to a specific slide, moving to the next slide was fine, like shown in the recorded video in the bug tracker. It seems that all events which are going over the EventMultiplexer are not having this flickering issue, as the moments when the drawing is happening are different. Change-Id: If57d9518e74d3a2ede166fd7e55ef5b290274109 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135031 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-31The return value of std::count_if is guaranteed to be non-negativeStephan Bergmann
...so use o3tl::make_unsigned when comparing it against an expression of unsigned integer type, instead of casting that expression to a signed type Change-Id: I487fd04eafbf8c56b8b6bfce579b477d8f34a052 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135206 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-25tdf#149068 don't call any OpenGL if the context is initially 'invalid'Caolán McNamara
Change-Id: I6a966e84574716a215d1625cde8b6826185cc451 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134935 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-08osl::Mutex->std::mutex in slideshow::EventQueueNoel Grandin
Change-Id: Ie9e53e5dc2c842e11457846b5f177fc55683e0d4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134016 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-04Just use Any ctor instead of makeAny in slideshowStephan Bergmann
Change-Id: I9b006826fe4a859e07340c8e39d99fd89d4f31c3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133781 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-04-14Resolves: tdf#143615 clamp relative times to 1.0Thorsten Behrens
User input permits zero-length animations, so whenever we calculate relative position within the animation time frame, the case mnMinSimpleDuration == 0.0 means: we're already at the end of the animation, i.e. set relative time to 1.0 Change-Id: I0e8c1e29f47bd9fa16f04115cf52d3a176e13fb0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133005 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2022-04-10use more string_viewNoel Grandin
found by tweaking the loplugin:stringview and making it whitelist getLength Change-Id: Ic15d3703d1fb07658e99e1db1c89e2fa5bc70c19 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132771 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-11loplugin:constparamsNoel Grandin
Change-Id: I5f184f93dbdb414514855c85c9dc1624e7ec8636 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131337 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-01Recheck modules s[f-t]* with IWYUGabor Kelemen
See tdf#42949 for motivation Change-Id: I1f520aad1b1c942ad5616d96851016fc366ac58f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130203 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-02-24cid#1500712 silence Explicit null dereferencedCaolán McNamara
Change-Id: I5f7fc843fadfde9f1807350fc879ecea22d4817f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130487 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-02-15tdf#145759 Using M_PI from cmath instead of magic constants.pragat-pandya
Replace the instances of Pi's value as magic number by M_PI Use M_PI_2 and 2_M_PI instead of calculating these values in code. Use basegfx functions to convert angle units. Change-Id: I6cca7cc93704a70ccf3a0571a56a789bc9df51ef Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129479 Reviewed-by: Arkadiy Illarionov <qarkai@gmail.com> Reviewed-by: Hossein <hossein@libreoffice.org> Tested-by: Jenkins
2022-02-02Fix function nameAndrea Gelmini
Change-Id: I53a9018ed96b66095ddfc87ad24dc32e2e5bb485 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129319 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2021-12-09tdf#146094 Impress refuses to go in presentation modeNoel Grandin
regression from commit 043ba6ddf8d90b04acfae8ec836c4b772fb36754 Author: Noel Grandin <noel.grandin@collabora.co.uk> Date: Mon Oct 11 16:08:12 2021 +0200 loplugin:moveparam in slideshow Change-Id: I8d6ec81f60e9bdba5b371b8a79abf3d07c523dfc Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126567 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-06Work around two -Werror=implicit-fallthrough=Stephan Bergmann
...that started to crop up with recent GCC 12 trunk (where it expanded the ENSURE_OR_THROW macro, but apparently didn't take into account that its > 97 | if( !(c) ){ \ > | ^~ will always be taken in these cases where the c argument is false), and can easily be avoided by getting rid of those uses of ENSURE_OR_THROW(false, "...") (And while at it, move the default case to a more reasonable position in mtftools.cxx, obsoleting the FALLTHROUGH comment in any case.) Change-Id: I8189d98b361e6725096d0968f3e0e604fb84e591 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126452 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-12-01Fix --disable-avmedia for DESKTOP buildJan-Marek Glogowski
Probably additional bits can be removed, but this now passes. Change-Id: I366bec43cfd6fb02e914c85c711b3b19586d534d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126161 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2021-11-28use more OInterfaceContainerHelper3 in slideshowNoel Grandin
Change-Id: I8f098b57411758cfbb5d5f41e319cf085a23f66b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125973 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-10-31Prepare for removal of non-const operator[] from Sequence in slideshowMike Kaganski
Change-Id: Ic3d4835a6153ce3451e5ddf7a74310ea2b70da2c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124389 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-15Avoid usage of incomplete types in member functions defined in-classStephan Bergmann
...that started to fail now at least with clang-cl (where the MSVC rules when to emit inline member function definitions are more aggressive than for other ABIs) with --with-latest-c++ and --with-visual-studio=2022 (where usage of incomplete types in std::vector now triggered > In file included from C:/lo-clang/core/slideshow/source/engine/opengl/TransitionerImpl.cxx:31: > In file included from C:/PROGRA~1/MIB055~1/2022/Preview/VC/Tools/MSVC/1430~1.305/Include\memory:11: > In file included from C:/PROGRA~1/MIB055~1/2022/Preview/VC/Tools/MSVC/1430~1.305/Include\exception:12: > C:/PROGRA~1/MIB055~1/2022/Preview/VC/Tools/MSVC/1430~1.305/Include\type_traits(744,50): error: incomplete type 'Primitive' used in type trait expression > struct is_trivially_destructible : bool_constant<__is_trivially_destructible(_Ty)> { > ^ > C:/PROGRA~1/MIB055~1/2022/Preview/VC/Tools/MSVC/1430~1.305/Include\type_traits(59,53): note: in instantiation of template class 'std::is_trivially_destructible<Primitive>' requested here > struct conjunction<_First, _Rest...> : _Conjunction<_First::value, _First, _Rest...>::type { > ^ > C:/PROGRA~1/MIB055~1/2022/Preview/VC/Tools/MSVC/1430~1.305/Include\type_traits(64,44): note: in instantiation of template class 'std::conjunction<std::is_trivially_destructible<Primitive>, std::disjunction<std::_Is_default_allocator<std::allocator<Primitive>>, std::_Has_no_alloc_destroy<std::allocator<Primitive>, Primitive *>>>' requested here > _INLINE_VAR constexpr bool conjunction_v = conjunction<_Traits...>::value; > ^ > C:/PROGRA~1/MIB055~1/2022/Preview/VC/Tools/MSVC/1430~1.305/Include\xmemory(934,20): note: in instantiation of variable template specialization 'std::conjunction_v<std::is_trivially_destructible<Primitive>, std::disjunction<std::_Is_default_allocator<std::allocator<Primitive>>, std::_Has_no_alloc_destroy<std::allocator<Primitive>, Primitive *>>>' requested here > if constexpr (!conjunction_v<is_trivially_destructible<_Ty>, _Uses_default_destroy<_Alloc, _Ty*>>) { > ^ > C:/PROGRA~1/MIB055~1/2022/Preview/VC/Tools/MSVC/1430~1.305/Include\vector(1632,13): note: in instantiation of function template specialization 'std::_Destroy_range<std::allocator<Primitive>>' requested here > _Destroy_range(_Myfirst, _Mylast, _Al); > ^ > C:/PROGRA~1/MIB055~1/2022/Preview/VC/Tools/MSVC/1430~1.305/Include\vector(583,9): note: in instantiation of member function 'std::vector<Primitive>::_Tidy' requested here > _Tidy(); > ^ > C:/lo-clang/core/slideshow/source/engine/opengl/TransitionImpl.hxx(74,5): note: in instantiation of member function 'std::vector<Primitive>::~vector' requested here > TransitionScene( > ^ > C:/lo-clang/core/slideshow/source/engine/opengl/TransitionImpl.hxx(42,7): note: forward declaration of 'Primitive' > class Primitive; > ^ etc.). Which in turn required tweaking of loplugin:unnecessaryoverride to avoid false > In file included from C:/lo-clang/core/slideshow/source/engine/opengl/TransitionerImpl.cxx:67: > C:/lo-clang/core/slideshow/source/engine/opengl/TransitionImpl.hxx(389,18): error: unnecessary user-declared destructor [loplugin:unnecessaryoverride] > TransitionScene::~TransitionScene() = default; > ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~ > C:/lo-clang/core/slideshow/source/engine/opengl/TransitionImpl.hxx(81,12): note: declared here [loplugin:unnecessaryoverride] > inline ~TransitionScene(); > ~~~~~~~^~~~~~~~~~~~~~~~~~ Change-Id: Ia72fb44e6e92ff47376d7b7159c0df7cbf883b69 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123648 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-10-15Remove non-const Sequence::begin()/end() in internal codeMike Kaganski
... to avoid hidden cost of multiple COW checks, because they call getArray() internally. This obsoletes [loplugin:sequenceloop]. Also rename toNonConstRange to asNonConstRange, to reflect that the result is a view of the sequence, not an independent object. TODO: also drop non-const operator[], but introduce operator[] in SequenceRange. Change-Id: Idd5fd7a3400fe65274d2a6343025e2ef8911635d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123518 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2021-10-14use std::vector::insert instead of push_backNoel Grandin
because it will pre-allocate space and often is optimised to memcpy Change-Id: I03ed7915f2762d3d27e378638052a47a28bbf096 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123588 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-10-11loplugin:moveparam in slideshowNoel Grandin
Change-Id: I67ec3e8b7f5a9b6f6463dace95ab7e4a64469d8b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123415 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-10-06loplugin:moveparam in basegfxNoel Grandin
Change-Id: I68d0de099641ae5b2ae92f46e86bdf4a43c468a4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123141 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>