The current aURL conversions in the file "unoshap4.cxx"
result in the URL obtained when importing the file being replaced with a
new one formed from the presentation directory and file name.
As a result, the model changes and saving is requested
even if no changes were made to the presentation.
To fix this problem, we added saving the
presentation directory URL into the context for
transfer from SlideImpl to ViewMediaShape.
Regression after: fe897b36ae
Change-Id: Ifda8610d0a4874ffa17e759fd45ddbbd2f934c0c
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170528
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Interface and implementation to expose the ability to render
the slide's layers to a bitmap.
Change-Id: I3da48585e498354592e163d84bd29659b233c255
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170214
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
The 'numTiles' variable is not being used in the vertex shader. To test this PR, apply the Glitter transition. If it works as expected, then the change is successful.
Signed-off-by: Javiya Vivekkumar Dineshbhai <vivek.javiya@collabora.com>
Change-Id: Ia1f833e6009b1f8c774329945ba260d20b8c9f64
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/168222
Tested-by: Jenkins
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
where it was obsoleted by commits 2484de6728
(Remove non-const Sequence::begin()/end() in internal code, 2021-10-15) and
fb3c04bd19 (Drop non-const Sequence::operator[]
in internal code 2021-11-05).
Change-Id: I4ccc647bb794515c8c11f8dfd9a26563f4aa094b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166819
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Jenkins
Loading a big GIF animation can freeze LO for a long time, so:
changed getAnimationFromGraphic, it can load parts of a big animation.
It can be called several times to load the whole animation.
Now it can load animation while it is playing.
It may still load smaller animations at once before it is rendered.
At first it load frames that sum maximum 5 million pixels.
(But minimum 10 frame.)
Changed the Graphic parameter to shared_ptr, so it won’t be deleted
until the whole animation is loaded.
Change-Id: I5ac16d7ee4883dbaefb604cd07757d19e5aa2939
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166608
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Nested for loops are replaced with direct distance checking between
triangle vertices. The goal is to improve the code readability and
efficiency in AddTriangleVectorToBody() function.
Change-Id: I753253031738d49e7910f20110da7da07a10cb1b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165863
Reviewed-by: Hossein <hossein@libreoffice.org>
Tested-by: Hossein <hossein@libreoffice.org>
There is a mechanism to pre-fetch the next slide, but
at the last slide that just gets not reset/refreshed.
Thus the last slide *is* the buffered slide.
When making changes and refreshing the SlideShow display
for the last slide this pe-fetched one is just used, so
the slide content gets not re-created and thus not
updated.
I added needed code to do that now when reacing the last
slide to make that work.
Change-Id: Ie57e6917e0996d5fce46021aeb933064c47dd90f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/166011
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
fillstyle or linestyle.
Also the shape will be appeared in print and pdf view.
(Powerpoint doing the same.)
TODO: the placeholder bitmap and the default text
was not removed from the slideshow/print/pdf view.
Change-Id: Ifadc9a692d77b60a7e3514afe8e6ea5cab0018c9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/164163
Tested-by: Jenkins
Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de>
...most of which had already been removed with
4e35473790 "remove boost/shared_ptr foo".
4c657f5a1a "Properly #if these debug hooks" had
noted that slideshow/source/engine/smilfunctionparser.cxx "still indirectly
includes boost/scoped_ptr.hpp via. boost/spirit", but lets assume that nobody
actually relied on this functionality (and however it would actually work in
practice).
Change-Id: Ib8ccfcd8019d7b03b138aee1ac026a2f7bd5d402
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165082
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
Added handling for navigation bar buttons when many quick
clicks have been made. To do this, after processing the first click,
the number of clicks in the series is stored in a new variable.
Until the entire series of clicks has been processed, the slide
switch will not occur.
Change-Id: I8f4416a0c7928bb78609be8ff52252782c37f5a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161625
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
The old name was misleading (it doesn't take an URL, but a filename);
also, now it's easier to grep for it - doesn't get mixed with
vcl::graphic::loadFromURL.
Change-Id: Ib88d2194200a6a54d2326971e0306ba39f0c7025
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161578
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
(*) Make all of it use a "Scoped" paradigm
(*) pass by value, no need to allocate on heap
(*) make all of the construction go via the *Access constructors, instead of it being some via the constructors and some via the Acquire*Access methods.
(*) take the Bitmap& by const& in the constructor, so we can avoid doing const_cast in random places.
Change-Id: Ie03a9145c0965980ee8df9a89b8714a425e18f74
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160293
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
and :
cid#1545537 Using invalid iterator
cid#1545508 Using invalid iterator
cid#1545494 Using invalid iterator
cid#1545478 Using invalid iterator
cid#1545427 Using invalid iterator
cid#1545420 Using invalid iterator
cid#1545400 Using invalid iterator
cid#1545300 Using invalid iterator
cid#1545258 Using invalid iterator
cid#1545257 Using invalid iterator
cid#1545200 Using invalid iterator
cid#1545183 Using invalid iterator
Change-Id: Ibf3a41902f34286967195c5c3b22e337a4b06809
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160322
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
and :
cid#1545802 Using invalid iterator
cid#1545745 Using invalid iterator
cid#1545717 Using invalid iterator
cid#1545675 Using invalid iterator
cid#1545668 Using invalid iterator
cid#1545639 Using invalid iterator
cid#1545634 Using invalid iterator
cid#1545629 Using invalid iterator
cid#1545620 Using invalid iterator
cid#1545608 Using invalid iterator
cid#1545607 Using invalid iterator
cid#1545601 Using invalid iterator
Change-Id: I403842175f64a570d7e52fba7c3e03bf21b7d05b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/160320
Tested-by: Jenkins
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
On some panels, small icons of navigation bar are not
convenient to use. Currently there are 4 sizes available
for other icons: automatic, small, large and extra large.
It is useful to implement support for scalable buttons in
the Impress navigation bar. This setting can be located in
Slide show -> Slide Show Settings (Display section)
Change-Id: Ief8cc0cbf4eac98ee90bf3e993e4fc44cea0165e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159294
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
Drawing with 'mouse as pen' in a slideshow creates hundreds of points.
By commit 631964a2ce they are at least
already combines to a polyline. The patch here now reduces the amount
of points in such polyline to a reasonable number. If at some point the
drawings in the slideshow are improved, this can be removed.
The reduction is performed using the Douglas-Peucker algorithm. I have
added the method to b2dpolygontools because I think it could be useful in
other contexts.
Change-Id: I9224ec3546d4442da8bc348aea8ce7b88fcc46dc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155811
Tested-by: Jenkins
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
When a slide has a 0 second automatic slide advance setting, and you move
back to that slide, it would immediately move forward again.
Only enable automatic slide advancement when moving forwards.
Change-Id: I3c901bed5323569f5cf52aeca5b3227c87b6e539
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155663
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
On macOS, with Skia/Metal or Skia/Raster with a Retina display
(i.e. 2.0 window scale), the alpha mask gets upscaled in certain
cases.
This bug appears to be caused by pending scaling of an existing
SkImage in the bitmap parameter. So, force the SkiaSalBitmap to
handle its pending scaling.
This change consolidates the three duplicate fixes added in the
following commits into the AlphaMask(const Bitmap&) constructor.
commit 12fd870113
commit ce2d9f5dd4
From my light testing, the bitmap's SkImage is not scaled except
when running macOS with a Retina display. The only exception is
that this fix will be triggered on all platforms when exporting
to PDF images with an alpha mask.
Change-Id: Iea5afd55aac984ca606b2b4b44e457d81d76fac0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155568
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
When the user makes a 'mouse as pen' drawing in slideshow, then each
mouse drag step generates a separate, very short two-point line. When
the drawings were made persistent, from each of this mini lines an
individual shape was created.
Now lines, were the end point of one line equals the start point of
the next line, were combined to a polyline. That way a drawing, which
was drawn with one mouse drag, becomes one shape now.
This does not solve, that too many of such mini lines were generated.
But it makes it easier to handle them in edit mode.
Change-Id: I8662831f309b201c049844a613877190ca0da5b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155643
Tested-by: Jenkins
Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
Due to the switch from transparency to alpha in commit
81994cb2b8, flip the background colors
for the VirtualDevices and invert an alpha mask.
On macOS, with Skia/Raster with a Retina display (i.e. 2.0 window
scale), the alpha mask gets upscaled. Also, when Skia is enabled,
the alpha mask gets inverted in the first export to PDF after
launching the application. These two bugs appear to be caused by
asynchronous rendering of the returned bitmap. So, we force a copy
of the alpha mask in case it changes before the bitmap is actually
drawn.
Lastly, respect system animation settings when determining if the image
should be animated.
Change-Id: I8144691a6c99bf8361b301b88d22172991463f26
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155429
Tested-by: Jenkins
Reviewed-by: Patrick Luby <plubius@neooffice.org>
(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>