summaryrefslogtreecommitdiff
path: root/svx/inc/sdr
AgeCommit message (Collapse)Author
2025-03-27tdf#130326 speedup load of complex XLSXNoel Grandin
Shaves 10% off load time by avoiding some unnecessary stylesheet work. Change-Id: Ide5545c4bea16904c62d76e3cf0676bdfddcf267 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183374 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-03-13tdf#165621 fix Calc repaint on TextEdit activationArmin Le Grand (allotropia)
Found a simple way to do that (after some experimenting), needed to trigger the Overlay update, and that can just be done with a Reschedule. Other places that used flushOverlayManager() checked, but work on their own, so we do not need to bring that OverlayManager flush back. Unfortunately this triggers CppunitTest_desktop_lib "DesktopLOKTest::testRedlineCalc", probably due to not only the timer triggering but 'other' stuff that better runs later (...?). Not doing it - as long as we need to do it - is safer, but forces to keep that flush just for this single usage. Change-Id: Iacf18d688597129baba6e893252487d73a1fdfff Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182834 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2025-03-02Remove OverlayManager::flush() mechanismArmin Le Grand (allotropia)
This is a follow-up to 'Avoid short blinking of text when activating TextEdit' commit. The update using the timer works nowadays flawless, so no longer needed. I separated the two places in two commits because this one handles some places I do not know good enough to be completely sure, so it would be simpler to turn back in case of (unexpected) problems. Change-Id: I336515838949585b98101ff566e9137b898da82f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181906 Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de> Tested-by: Jenkins
2024-10-21Support FixedCellHeight in SdrAutoFitTextPrimitive2DArmin Le Grand (allotropia)
That was missing with the result that for some cases the painted text (where it was missing) differed from the text in EditEngine mode (was set there). Change-Id: I23ddf8e90be2335c56e5a485308c753dfe72a878 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175127 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-10-17tdf#159007 Revert "optimization to skip SdrObject::GetViewContent()"Caolán McNamara
This reverts commit 313be607903a381830600c0a60b2e299fcaec685. Change-Id: I2dc7489ecc302473edd763fd0e4d6784fadc9bb4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175094 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2024-08-29tdf#161826 - Add uniform Glow effect for texts in shapesBalazs Varga
- Add new text Glow effect properties for shapes - Using TextGlowPrimitive for rendering uniform text glow in shapes - Add/allow new UI Glow Effect for texts in shapes on sidebar (Only for Impress/Draw and Calc) - Import/Export ooxml files with Glow effect on texts in shapes (Only PPTX/XLSX) - Import/Export odf files with Glow effect on texts in shapes - Add unit test for glow text attributes in ODF - Add uni tests for OOXML import/export Note: Also this patch effects on tdf#144061 - Effects: Allow GLOW to apply to Text (as we have for shapes) Change-Id: I16586c01654f197f532129e4e06aa2ef9f214395 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172216 Reviewed-by: Balazs Varga <balazs.varga.extern@allotropia.de> Tested-by: Jenkins Reviewed-by: Regina Henschel <rb.henschel@t-online.de>
2024-08-20tdf#143148 Use pragma once in svxDeepanshu Sharma
Change-Id: I22a1e384b6d6a90e412c9c0c36785f0cba73a90c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/172054 Tested-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org> Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2024-07-30tdf#161846 remove one layout operations (v)Noel Grandin
of the 6 we perform per caption Change-Id: I57b3f12ca73e08e18be4d22da74e688969ae35b1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171214 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-07-30tdf#161846 remove one layout operations (iv)Noel Grandin
Change-Id: I0c09c7b4636a7ac4c3dc87a8a17efd278109c3c6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171213 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-07-16CairoSDPR: Direct support for RGBA Gradients (I)Armin Le Grand (Collabora)
Detect where created when a RGBA gradient could be used directly and create a primitive representing that, a PolyPolygonRGBAGradientPrimitive2D. That primitive decomposes to what was created before, so no primitive renderer has to be touched, all will work as before. NOTE: That helper primitive just holds references to what would be created anyways, so one depth step added but not really any additional data. This is the 1st step for direct support, the 2nd is to then detect and use that primitive in SDPR implementations directly. Change-Id: I4f247636ce58a8a1fd1e0df32dabed0d6cc10d0e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/170527 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-05-11loplugin:ostr in svxNoel Grandin
Change-Id: Ia765a03e033acb82e367873380d289587ea87d6c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/167449 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Tested-by: Jenkins
2024-03-22tdf#159258 SD: SS: disable placeholdertext in imageAttila Szűcs
Changed the text creation to use ExclusiveEditViewPrimitive2D in case we are in a placeholder image. Had to make a flag to send the information if we are in a placeholderimage.. because this function also called on other primitives. Unfortunatelly we cannot do it in CreateObjectSpecificViewObjectContact as in case of the icon... because the Primitive2DContainer that will (later) contain the text will also contain the rectangle as well, and we want to display the rectange. Follow-up to commit I307f4b0fe7f8faf98789787f216cac7be86a0515 "Provide tooling for EditView exclusive Primitives". Change-Id: If24aaa330c7b0b6dbaa72c9900774959ef24da4f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165087 Tested-by: Jenkins Reviewed-by: Attila Szűcs <attila.szucs@collabora.com>
2024-03-21ITEM: Remove InvalidateAllItems()Armin Le Grand (allotropia)
I checked if this is used, but it can be replaced using Clear() -> all. This prevents that the whole array of Items in an ItemSet gets set to INVALID_POOL_ITEM. I also checked if INVALID_POOL_ITEM/IsInvalidItem is needed at all representing SfxItemState::DONTCARE but it is and still will need to be set for individual Items. At last checked if SfxItemState::UNKNOWN and ::DISABLED really need to be separate states, but indeed there are some rare cases that need that. To make things more consistent I also renamed SfxItemState::DONTCARE to SfxItemState::INVALID to better match Set/IsInvalid calls at ItemSet. The build showed a missing UT and led to a problem due to the hand-made ItemSet-like SearchAttrItemList. The state 'invalid' seems to be used as 'unused' marker. It should be changed to use SfxPoolItemHolder and not need that. For now, set by using an own loop to set to that state. Change-Id: Ifc51aad60570569a1e37d3084a5e307eed47d06c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/165035 Tested-by: Jenkins Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
2024-02-12make BufferedDecompositionPrimitive2D store a Primitive2DReference..Noel Grandin
.. instead of a Primitive2DContainer. The container very frequently contains only a single item, since the decomposition method often sticks only a single top-level node in there, so it turns out to be a net loss overall, memory consumption-wise. Also, if we return a single Primitive2DReference from a BufferedDecomposition, that maximises the sharing of data between the BufferedDecomposition objects at the bottom of the decomposed tree, and objects higher up. Change-Id: Iaf272e60e2997299cc35a1bd209c51b6b79e9a8b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162976 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-04Move mnTransparenceForShadow down to SdrCellPrimitive2DNoel Grandin
where it belongs. It appears it was only put into BufferedDecompositionPrimitive2D so that it can be accessed by Primitive2DXmlDump, so fix that by creating an extended version of the dumper for use in svx. Change-Id: Idb0b849c4fa538bbede882e48c2d090669c2325a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/162949 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-12-30tdf#146619 Recheck svx/ with IWYUGabor Kelemen
Change-Id: I99650b50587294c20b1e92270e541140d9ec9cae Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161240 Tested-by: Jenkins Reviewed-by: Thorsten Behrens <thorsten.behrens@allotropia.de>
2023-11-01AttributeProperties is effectively abstractNoel Grandin
so remove the unused code and assert there, just to make sure Change-Id: I31771e5c210b087775d59804874456cece9509cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158746 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-10-11Drop o3tl::span, can use C++20 std::span directly nowStephan Bergmann
Change-Id: Ic21ff7bf48f07f7277979d52e99d2c5c268de83f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/157825 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-08-03Related: cool#6911 opt to skip SdrObject::GetViewContent() when possibleCaolán McNamara
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>
2023-07-06loplugin:unusedfields all-can-be-privateNoel Grandin
these fields can be private Change-Id: I74423a9ae2ef0263a28c8a716ab1c55861e453d9 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154092 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-07-05loplugin:finalclassesNoel Grandin
Change-Id: I62b094a3bd9a4f630cebdf538c04391e2920ff2c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154064 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-02remove unnecessary methodNoel Grandin
the call to GetObjectItemSet() in OleProperties::ForceDefaultAttributes() is unnecessary, because it is always called before ForceDefaultAttributes is called, and having removed that, the rest of the method becomes unnecessary too. Change-Id: Ibb09020837d47cb9eb1fb8b5deca1defc1465108 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151237 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-05-02use more specific class in sdr::table::CellNoel Grandin
mpProperties always points at a CellProperties object. Change-Id: Ie78d015a23b48c5b40cbf3564974870e49a0b2af Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151239 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-29rename field in GroupPropertiesNoel Grandin
to distinguish it from the similarly named field in the DefaultProperties superclass. Change-Id: I8512c1a60e360a1e31ceaa86a8ff63ebe068d0cb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/151185 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2023-04-18sc drawstyles: Comment shadow should depends on shadow attributeMaxim Monastirsky
The shadow of comments differs from the shadow of normal callout shapes, as it shows only for the text rectangle. However the way it's implemented is weird: The shadow attribute is set to false, which turns off the "normal" shadow, and then the special shadow is drawn unconditionally. There is also a code that forces the shadow attribute to false on import, to handle some old files that used to have the shadow on. The confusion begins when one shows the comment, and looks at right click > Area... > Shadow, which (rightfully) shows the shadow as off, but doesn't align with what is visible on the document canvas. Moreover, the other shadow settings on this page do affect the comment shadow, but in order to change them it is needed to check the "Use shadow" checkbox first. But leaving that checkbox as checked will result with a double shadow being drawn for the text rectangle, and an unnecessary shadow drawn for the arrow part. The problem becomes now more visible, as there is a Note style listed in the sidebar. One possible approach could be to draw the special shadow only when the shadow attribute is on, and patch existing files on import to "shadow on" instead of "shadow off". But this will cause the "double shadow" problem when opened in older versions (unless the comment is hidden, in which case we used to override the shadow attribute). But now there's an opportunity for a better solution: As we assign the default comment style to imported comments, we can just clear the shadow attribute DF, instead of forcing it to some value. As a result, the "shadow on" attribute of the style will be in effect in newer versions, while in older versions it will fallback to the "shadow off" pool default. Change-Id: I4b35bc1e8e2e12ed35a82b0c2e9aabcf28b46270 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150353 Tested-by: Jenkins Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
2023-03-22vcl,drawinglayer,svx,sw,sd: PDF/UA export: Annot StructElem for SdrMediaObjMichael Stahl
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>
2023-03-15tdf#88205: Adapt uses of css::uno::Sequence to use initializer_list ctorYousef_Rabia
Change-Id: I37b5056026f29d2619a4f9d3da9251924c7f5fdd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/148898 Reviewed-by: Stephan Bergmann <sbergman@redhat.com> Tested-by: Stephan Bergmann <sbergman@redhat.com>
2022-11-28loplugin:unusedfields make some protected fields privateNoel Grandin
Change-Id: I61d1bc59dce1ff53f48be66e6fdcd92b47004871 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/143399 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-11-22tdf#135638 svx,sd: PDF/UA export: tag SdrObject shapes as Figure etc.Armin Le Grand (allotropia)
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>
2022-11-14svx: Update tables on style changesMaxim Monastirsky
After modifying a cell style, it is required to broadcast the SfxHintId::DataChanged hint on that style, to update the table appearance. However, it doesn't work when only text attributes (e.g. font name or color) were changed, unless the table is also moved around a bit. It seems to be the same problem as i#101556, whose fix didn't handle the table case. The problem here is that the change hint is handled by the individual cells properties objects, and nothing updates the table's properties object. Change-Id: I30ebc85c16b20c5354f02a309e6fa3dd4b31f669 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142665 Tested-by: Jenkins Reviewed-by: Maxim Monastirsky <momonasmon@gmail.com>
2022-09-14new loplugin refcountingbaseNoel Grandin
Look for classes that have more than one ref-counting base class. A situation which is going to cause trouble. Which reveals that sdr::table::Cell has two different ref-counting bases, so rather make SdrText extends OWeakObject, which means that Cell can just have one ref-counting base, Change-Id: I8d968270f7b449cff2f29da0bd48fa17181c68c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/139807 Tested-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-08-29ref-count SdrObjectNoel Grandin
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>
2022-08-12Fix typoAndrea Gelmini
Change-Id: Iac8427094a4ec64826b712e0f79e5b24a3ea696a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138177 Tested-by: Julien Nabet <serval2412@yahoo.fr> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-07-21clang-tidy modernize-pass-by-value in svxNoel Grandin
Change-Id: Iedd87d321f4d161574df87629fdd6c7714ff31c5 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/137248 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-03Recheck modules sv* with IWYUGabor Kelemen
See tdf#42949 for motivation Change-Id: I25779cbfb1aa93c31d6e12ac95e136b3bdbbc058 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130403 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2022-02-21speed up SvxShape::_setPropertyValueNoel Grandin
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>
2022-02-20Fix --disable-avmedia buildJan-Marek Glogowski
Regression from commit 6f938dce6eaa927cfde39491ef7a0bc1d07df66b ("update video pos and size after change if currently playing"). Change-Id: Ib618fcd7347255d0cae352b7fc90aa85a2c14d32 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130215 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-02-19update video pos and size after change if currently playingCaolán McNamara
I'd prefer if it changed size during the resizing/repositioning, but at least make it immediately take the final size after the resize/reposition has happened. Change-Id: Ic3b4dd23921ad5cf6092f1514dd6538f9946998a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130178 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-02-17loplugin:unusedmethodsNoel Grandin
Change-Id: I58c60262ca543bafb4db4433dbb98b195f7571ea Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130063 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-02-17loplugin:unusedfieldsNoel Grandin
Change-Id: I07ec409ea3663e789b6505dbfc999666525ed97f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130062 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-02-16speed up DefaultProperties::SetObjectItem when loading large chartNoel Grandin
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>
2022-01-11do not call broadcast SetStyleSheet from a non-broadcast oneLuboš Luňák
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>
2022-01-08reduce cost of Sdr properties for text-derived objectsNoel Grandin
when they have no text in them Change-Id: I70c18898abf21141f3b30b7dee9c931c9b27cffb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128124 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-01-07make GroupProperties extend BasePropertiesNoel Grandin
it doesn't need any of the logic in DefaultProperties Change-Id: I75d56a29f1edf2819c22a1fd69df464948544aaa Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128093 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-01-07move applyDefaultStyleSheetFromSdrModel from BaseProperties..Noel Grandin
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>
2022-01-07move some methods BaseProperties->DefaultPropertiesNoel Grandin
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>
2022-01-07split PageProperties from EmptyPropertiesNoel Grandin
to make it clearer - PageProperties just ignores stuff, but it is not a logic error to set props on it (or so it seems from its comments) Change-Id: Iba3dbcdffae6165a14e9a2d71e4111fbbd29febb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128090 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-24use comphelper::WeakComponentImplHelper in PrimitiveFactory2DNoel Grandin
Change-Id: Iead37062710d64705fca2d00404922b3ad3b6f17 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127409 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-06skip some intermediate results in tryToGetChartContentAsPrimitive2DSequenceNoel Grandin
Change-Id: Idf3179c97fe40da1ff41100fc7e7a0b80ee1ca73 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126403 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-12-05use visitor in ViewObjectContact::createPrimitive2DSequenceNoel Grandin
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>