Age | Commit message (Collapse) | Author |
|
because it reduces the noise in an upcoming patch
Change-Id: I67d7b719609271f626e38596416eb511fbd40b07
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158714
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ic21ff7bf48f07f7277979d52e99d2c5c268de83f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157825
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
Change-Id: Ia39f59d68a00efea18409a23e243007a9e6a96b3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157574
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
|
|
Change-Id: Ia0a6330278b044f448c9928362308aadc8fc9a20
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/156989
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
as seen in: https://user-images.githubusercontent.com/122848/253732636-3dfeddad-f146-4268-bde5-85788b72d539.svg
SdrPageView::DrawLayer takes ~11% of the time when scrolling with
many comments in calc, but none of these comments actually get drawn,
all this effort is to find that they are not to be drawn.
optimize ViewContactOfPageHierarchy impl over its parent impl to skip
SdrObject::GetViewContent(), etc if the SdrObject isn't shown on the
target layer.
ViewObjectContactOfSdrobject::getPrimitive2DSequenceHierarchy does the
same check, but after a set of allocations which is expensive in the
case of SdrCaptions in a calc internal layer where there can be
thousands of such objects.
Change-Id: Iad86c77e8fa71ec90f54ce06d5a27c0380fb03ab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155269
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
no change intended here
Change-Id: I34b72776b1a05979fbe3a02ff1548b6aa8a183df
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/155268
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
|
|
ISO 14289-1:2014, 7.3 Graphics
Graphics that possess semantic value only in combination with other
graphics shall be tagged with a single Figure tag for each group.
Also produce the missing alt-text.
Change-Id: I78e802d8e17a29c2d19fcf3a7ec9961f8f04e391
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154684
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
The granularity to decide at the SdrView what to paint was not
fine enough, so I added code to get what we need: Do avoid
page decorations (including PageBackgrund aka 'wiese'), but
do include/process MasterPage content.
Change-Id: I49df05abc89b4bcebc973c37d30be0a0c72e59ea
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154301
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
The problem is that inside of the Figure tag, in
SwNoTextFrame::ImplPaintPictureGraphic(), ViewContactOfSwNoTextFrame
and ViewObjectContactOfSwNoTextFrame are used to create and process
another primitive sequence.
ViewObjectContactOfSwNoTextFrame does not have access to a SdrObject,
because that was already processed by the outer layer of code that
called the SwFlyFrame painting code.
Avoid running the code that assumes anything without an SdrObject is an
artifact by disabling PDF tags altogether in
ViewObjectContactOfSwNoTextFrame.
(regression from commit 81ef84648515965bf67afaced946227d0f63a71e)
Change-Id: I9fabe7f7e5296f8d850448ac44865f87cd164591
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/152335
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
veraPDF complains:
Specification: ISO 14289-1:2014, Clause: 7.18.1, Test number: 1
An annotation, excluding annotations of subtype Widget, Popup or
Link, shall be nested within an Annot tag
This is very similar to Link annotations, that is to say, extremely
complicated to get it thought the convoluted PDF export code, with
additional complication that the StructElem is produced by drawinglayer
and the page annotation by sw.
Put another map into PDFExtOutDevData where sw code puts stuff for the
SdrObject that drawinglayer can find.
The test had the problem that PDFObjectParser::parse() could not handle:
<</Nums[
0 [ 6 0 R ]
1 6 0 R
]>>
Fix dropping the "1".
Change-Id: If5bf7c552e26ebb7e631030b8aaecd4281e77acc
(cherry picked from commit c78e90bd28cc4d6d3bde473535107784b12d9c0d)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149008
Tested-by: Jenkins
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Change-Id: Ib55ce7882e87823cca95e00cb5ae990213d1e766
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/146339
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Move the code that already exists in sd class ImplRenderPaintProc
to ViewObjectContact::getPrimitive2DSequence(), where it is used by all
applications, and take into account the caching there, which matters for
performance.
Change-Id: Iabc00b7c894f042673c7217199236a05a5d67959
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142901
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Reviewed-by: Michael Stahl <michael.stahl@allotropia.de>
|
|
Change-Id: I75559c80da015a13ee078bdda06f6f4975fe5946
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140943
Tested-by: Jenkins
Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
|
|
Change-Id: Ib12fdce5b4a46ec98828aeba6a293ca3a3e1c766
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141312
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
with SettingsForSelection
SettingsText -> HighlightTextColor
SettingsFill -> HighlightColor
SettingsLine -> HighlightColor
Change-Id: Iaac5834ce0f8b3f1b89376711b564773cfd0bfe3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141287
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Change-Id: I0a45051c9ba8bbfe785689103c6af6285a282345
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141261
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
|
|
Which means we can get rid of the majestic hack of ScCaptionPtr
Previously, SdrObject was manually managed, and the ownership
passed around in very complicated fashion.
Notes:
(*) SvxShape has a strong reference to SdrObject, where
previously it had a weak reference. It is now strong
since otherwise the SdrObject will go away very eagerly.
(*) SdrObject still has a weak reference to SvxShape
(*) In the existing places that an SdrObject is being
deleted, we now just clear the reference
(*) instead of SwVirtFlyDrawObj removing itself from the
page that contains inside it's destructor, make the call site
do the removing from the page.
(*) Needed to take the SolarMutex in UndoManagerHelper_Impl::impl_clear
because this can be called from UNO (e.g. sfx2_complex JUnit test)
and the SdrObjects need the SolarMutex when destructing.
(*) handle a tricky situation with SwDrawVirtObj in the SwDrawModel
destructor because the existing code wants mpDrawObj in
SwAnchoredObject to be sometimes owning, sometimes not, which
results in a cycle with the new code.
Change-Id: I4d79df1660e386388e5d51030653755bca02a163
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138837
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Iedd87d321f4d161574df87629fdd6c7714ff31c5
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137248
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Ie706797e1bda4d1cd279fa68e93fb15beabb6a2e
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137077
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
React/interpret new SlideBackgroundFill mode for SdrObjects/
XShapes, defined by drawing::FillStyle_NONE and usage of
XFillUseSlideBackgroundItem as (true).
Do so by adding a detection, a mode to SdrFillAttribute,
reacting on it by creating a new implemented B2DPrimitive:
SlideBackgroundFillPrimitive2D provides a Primitive2D for
the SlideBackgroundFill mode. It is capable of expressing
that state of fill and it's decomposition implements all
needed preparation/creation/collecting of the geometry
in an isolated and controllable space and way - the
B2DPrimitive way. It does so based on the given
ViewInformation2D, reacing out for all needed data/
geometry from this.
It clips & transforms/combines as needed, providing the
necessary visualization of the MasterPage content *over*
other objects on the Page/Slide. It is currently simple
buffered (due to being derived from
BufferedDecompositionPrimitive2D) and detects if
MasterPage changes. Still, more may be needed.
Change-Id: Ie11403c0b705fc2ecdfd7eb2fa5ae1a93a21b460
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135971
Tested-by: Jenkins
Reviewed-by: Samuel Mehrbrodt <samuel.mehrbrodt@allotropia.de>
|
|
Added visualization to show an imminently recognizable additional
visualization for DynamicDiagrams that can also be used to
show/hide the DiagramDialog by the user. It is also used as
additional drag/move handle for the object.
Change-Id: I56292cebe7c7a6f79be920c17edafdd7e453b6eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135183
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
|
|
Change-Id: If04a160c46b8dbf641ca9d115d1560f17e87ce4d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131043
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
by using the Properties related code to create an SfxItemSet with the
correct ranges, instead of creating an empty SfxItemSet and updating it.
Shaves 2% off the load time of a large chart.
Change-Id: Ia1f8527fa52ab5b8c70e13e1e2ab8c8f25739b2b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130270
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
The cost of creating a SfxItemSet to pass around changed item
information is surprisingly high, so avoid that and just pass
the vector of changed items down (which we are already building
anyway).
Change-Id: Ifa48e3ce07fb6c92ad05a119ae95ce002af76199
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129976
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
some stupid side effect at work
regression from
commit c1916d3ab8f764e465f889334050ce7c863576b3
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Wed Dec 8 12:25:58 2021 +0200
meRememberedAnimationKind is dead
Change-Id: I7ba245a2096ed011f88e08f9d3a87021948e0b01
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129219
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Rely on the cached primitives in VOC.
But only enable it for calc and draw right now, by adding a flag
at the SdrModel level.
This way we can leave it disabled for writer, where it definitely doesn't
work.
Change-Id: I11ca4836eb773c0f078cdb82056c6e0309d15a8b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128319
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
In the document from bsc#1183308, which contains a large number
of custom shapes, I get a noticeable time spent in the callchain
EnhancedCustomShapeEngine::render() -> SdrObject::NbcSetStyleSheet()
-> sdr::properties::GroupProperties::SetStyleSheet() ->
SdrObject::SetStyleSheet(), which means that a non-broadcast call
ends up in a broadcast one, and the time is spent in
SvxShape::Notify(). And it even seems that nobody actually cares
about the broadcasts, possibly because the SfxStyleSheet* value
is actually the same.
I originally tried to make SdrObject::SetStyleSheet() return
if the SfxStyleSheet* is the same, but that fails the test from
717dc8e3575a18e1e. I don't quite understand the reasoning for that,
but solve it then by changing the code to call the Nbc variant
if that's enough.
Change-Id: I096a6799a0dc51c31ec3b0ba070c7f99ec96ac5d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128048
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
|
|
Change-Id: Ieaf94ce6ce524c4c017cbe1bb82fa75bd5f7e801
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128094
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
to AttributeProperties, since it only applies to AttributeProperties
and its sub-classes.
Change-Id: I01527f75815659d1cf2a9859888ef04c561633a4
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128092
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
These methods are part of the implementation of DefaultProperties,
so they do not belong in a superclass
Change-Id: I553f5d5b771aa0a408a8ade25f009cc56f829c72
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128091
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
regression from
commit fe6a140a537eda1b6703c44ff5ee49d2ba875b81
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Tue Dec 7 14:55:13 2021 +0200
used cache value in ViewObjectContact::getPrimitive2DSequence
Unfortunately various things like scrolling/zooming/moving item
to new page do not seem to invalidate the VOC, and I can't
track down the right place to do that, so just revert.
Change-Id: I8009c99417f634b26adc770b6d6d2eb6969d9629
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127389
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
See tdf#42949 for motivation
Change-Id: Iaebddd648c52c175da17d2a55a1e8de82c213f4d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127330
Tested-by: Jenkins
Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
|
|
Change-Id: I7f1636226c4fbe29d9d2ef850318a9d57f1b5450
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127009
Tested-by: Julien Nabet <serval2412@yahoo.fr>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
|
|
./instdir/program/soffice.bin --headless --convert-to odt
./ooo31011-1.sxw
regression from
commit 681e10eecf67a1a01bdec2cc9b834e0345e25206
Author: Noel Grandin <noel.grandin@collabora.co.uk>
Date: Thu Dec 9 11:12:49 2021 +0200
tdf#146137 tdf#146132 image redrawing
It is because we cache high-level primitives, and then during paint, we
decompose those high-level primitives, and that triggers layout,
which triggers an invalidate i.e. an ActionChanged(), which blows
away the cached data we are iterating over.
Change-Id: Id18e47b6c2b71a5404f24b075a43d2040a5e3509
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126995
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
and removing it actually makes chart loading faster, because we now
avoid always instantiaing the ObjectItemSet
Change-Id: I48420bcc38c61e4f6b211724271bc61db0e1f0d0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126572
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
in a document with a big background image
Revert "tdf#136058: remove some caching"
This reverts commit 57c40329a2b469813a1f357de355a37c8e3077ae.
And add some comments for future would-be optimisers.
Change-Id: Ie8686edc38dcdbe7d9e78599c1a259aab68278a1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126527
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
bitmap caching. Added some notes for future would-be optimizers.
This reverts commit 7f02cb80ac2075b65ee1adee4e29d1d5c4819424.
Change-Id: I39c41ea95d23d4a65edd3cef46a5d86fab48a044
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126425
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Tested-by: Jenkins
|
|
to reduce intermediate object creation
Change-Id: I03d34d15e88f82027f865868aca08503e38fd6ec
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126372
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
to reduce intermediate temporary data creation
Change-Id: I3f13b0e02c1fa374e8d70768ae47c7f6da254462
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126322
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
we reload the data every time anyway, so the caching is useless
Change-Id: I575cc2fbe5a2fe9f42c58894f471cabb842cdd46
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126273
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
we can just use the visitor API and skip a whole bunch of object
creation
Change-Id: If3dfa2fc1811e708963b8e6ecf4af6508b9f2a23
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126216
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
to avoid unnecessarily exporting symbols
Change-Id: I4c9c7c86f288ba9655a8b919387e30f3096ccfb2
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124667
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I2e422235129f810feea5c17afa1332d8b7ac14ed
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123332
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: I92fe2882c948e7297e5d54963647b4aa054f8f89
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/123241
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
by passing PrimitiveContainer&& around.
There are lots of place where we were preparing a local variable of type
PrimitiveContainer, and then copying it someplace else, then throwing it
away.
Change-Id: Iacfd983640c9e55da25800ccc01734dfc8b4d64a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122527
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
creating a temporary SfxItemSet for each geometry object adds up fast,
so only create the temporary for those SdrTextObj subclasses that need
it.
Change-Id: I0c03a630057718f09c12a4a2d07ad23fca46fd2d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121800
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
these types are already COW types
Change-Id: I7e4375ac50b8d887869123eeb99d3eaef0d28169
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120851
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
..to avoid container construction
Change-Id: Iae7a8ea8c31b6c8bcf4d161273be7b32fe41a021
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120779
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
instead of constructing a child sequence, and appending that
a parent sequence, just pass the parent sequence down the call
hierarchy, so we end up doing less copying.
Change-Id: If39a0779e543c6aa01f5e2e3ae63d395e0c85f7d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120521
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|
|
Change-Id: Idba40d9816f29c0e4bc4a468b8c0a2cbb74d09d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119481
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
|