Using the createEnumeration on the UNO object and finding the
UNO object that representing the paragraph, and using that pointer
as a unique identifier has doesn't work reliably. The reason for
this is probably that the createEnumeration call creates new UNO
objects that represent the paragraph, so the pointers change all
the time.
This changes the "calculation" of the paragraphs so that the hash
is actually combined using the hash of the object (which is always
of the XShape type and the hash is consistent with those) and the
paragraph index. This works well for the slideshow where we don't
edit the objects, but it can be a problem in the future if we will
allow editing.
Change-Id: I6dc9486a1e5d7c4ceb3d609613b60603886063c8
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179698
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
Tested-by: Jenkins
We need to render each animated paragraph of a SdrTextObj in its
own layer. This is not easy to do, so modify the PrimitiveContainer
after rendering and turn off all the paragraphs that shouldn't be
rendered. In addition also turn off rendering of the object itself
(the fill and stroke). This can be done by setting the newly added
setVisible method on the desired TextHierarchyParagraphPrimitive2D
to false (and others to true), and turning the primitives to render
the object to setVisible = false. If the primitive is not "visible"
it will be skipped in the when rendering with VclPixelProcessor2D.
Also changes the SlideshowLayerRenderer to take into account the
rendering of paragraphs. We remember all the paragraphs for an text
object that are animated, then we take this into account when we
do render passes.
We also need to take care of the paragraph hash, which needs to be
set consistently for all animated paragraphs (so the layers can be
identified correctly for animated paragraphs).
Change-Id: Ice3b9e1f586c3fca81cf5da809fa88c4b9c87c37
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/179599
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
see https://gerrit.libreoffice.org/#/c/3367/
and Change-Id: I00c96fa77d04b33a6f8c8cd3490dfcd9bdc9e84a for details
Change-Id: I199a75bc4042af20817265d5ef85b1134a96ff5a