...and implement export of all missing commands,
use existing viewBox if suitable,
use one EnhancedCustomShape2d
move WriteCustomGeometryPoint to protected,
make GetCustomGeometryPointValue local
The fix solves tdf#100390 too.
Without the fix the entire enhanced-path was exported as one element
<a:path>. The command F was applied to the whole drawing but should
affect only the subpath. The implementation is changed so that each
subpath gets its own element <a:path> and command F acts only on its
subpath.
Support for export of handles and equations is still a long way off.
Thus there is no reason to tread shapes with and without handles
different. Shapes with handles had used method WritePolyPolygon, but
that is not able to handle subpaths. So have desided to use method
WriteCustomGeometry for all cases.
To get shapes exported regardless of path commands I have added the
export for the missing commands.
I have removed the no longer used method WritePolyPolygon.
The special treatment of shapes "moon" and "mso-spt89" (right up arrow)
in export is no longer needed. Related code parts are removed. The
unit test testFlipAndRotateCustomShape is adapted.
In case the method WriteCustomGeometry fails, the enhanced-path is
invalid. In that case an minimal custGeom is written in case of docx.
Shapes whose drawing does not touch all edges of the snap rectangle
were exported with wrong position and size of the drawing inside the
snap rectangle. That is fixed by using an existing ViewBox for the
OOXML path size. The old way of creating a path size from point
coordinates is only used if the shape has no suitable ViewBox.
The point values in unit test SdOOXMLExportTest2::testTdf111798 are
adapted to path size 21600 x 21600 and traverse direction of the points
is corrected. The resulting shape outline is still the same as before.
The expected xml is updated for file tdf92001.odp in
SdImportTest::testDocumentLayout. The resulting shape outline is the
same, because the shape touches the edges of the snap rectangle.
The case, that the shape outline does not touch a edge of the snap
rectangle is tested in SdOOXMLExportTest3::testEnhancedPathViewBox.
Still missing is the case, that ViewBox has other left,top than 0,0.
In that case all coordinates would have to be shifted because the path
size in OOXML has only width and height but not left,top. That will
not be included in this patch.
Change-Id: Ib1736d6a08371f4d98411d2769275f0580cd0030
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131837
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
As preparations to use the Diagram ModelData further isolate
it from the oox-library-only drawingML Shape used for import.
It is necessary to completely isolate the Diagram ModelData
from the Diagram import mechanism as a preparation to be
able to re-create that Shapes on-demand anytime if needed
for re-layout(s).
Also removed one unused loadDiagram implementation and
streamlined the AdvancedDiagramHelper some more.
Change-Id: I7a7c55389e0d00f70c02db73ce2c3ff9ce7a5b22
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132058
Tested-by: Jenkins
Reviewed-by: Armin Le Grand <Armin.Le.Grand@me.com>
Do this only in case there are no effects on the color, as that is not
yet handled.
Note that the theme color was already stored in the grab-bag, so this is
primarily interesting in case the theme color was changed or the source
format was ODP.
Change-Id: Ia4995be68d5f243875632eec4aaf8afbb8f4d5cc
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131984
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
BSTR is documented [1] to be prefixed by a 32-bit integer specifying
its length *in bytes* (not characters), so passing wchar_t* as BSTR
is wrong, and the length member of rtl_uString can't substitute the
proper BSTR length, since rtl_uString::length specifies length in
characters. Any code taking BSTR and using SysStringLen to get its
length would only get half of the passed OUString data.
In dbaccess/source/ui/dlg/adodatalinks.cxx, the abovementioned
error was implemented. OTOH, OLEVariant::getByteSequence() in
connectivity/source/drivers/ado/Aolevariant.cxx passed BSTR from
tagVARIANT to ctor of OLEString, which resulted in the BSTR being
freed in both dtors of OLEString and OLEVariant (the latter calls
VariantClear, which itself clears string when vtfield is VT_BSTR).
[1] https://docs.microsoft.com/en-us/previous-versions/windows/desktop/automat/bstr
Change-Id: Iedbd62b20133644258af3660616add7b63cac258
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131950
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
It had a random(?) hardcoded '2' as the dashing info. While at it,
I've also made few other places use the common implementation
of creating the dotdash array instead of doing it manually.
Change-Id: Id349ca138c98d08eef47dc0bfe6d162e03fc4a9f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131932
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
This is in preparation of getting rid of X11OpenGLDeviceInfo for non-Windows
platforms.
Change-Id: I9c08292716244d046bf223eb760880db43b6824b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131921
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
As mentioned in
Change-Id I4681c28c9d18cf1953be5127765f4aa94563662d
("chart a11y: Drop bSendGlobally param from AccessibleBase::BroadcastAccEvent"),
calling it has no effect, the `fireFocusGained` and
`fireFocusLost` methods of the `XExtendedToolkit`
interface in its only implementation
in `VCLXToolkit` do nothing, so just drop it.
Change-Id: Ie9352a4e4021d7bf0b35de71f55afc660795b906
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131736
Tested-by: Jenkins
Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
...which was the German
// Falls wir ein Schweinezeichen haben, abbrechen!!
until 3d361dbc2d "Translation of Comments to
English"
Change-Id: I655514ec38596d16b15d22a02f38d0cf60b80302
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131726
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Refer to the 12 pre-defined colors by name + don't write the attribute
for the case when there is no theme.
Change-Id: I37c984b3371ec878a0d733977f5c937dce27c440
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131717
Tested-by: Jenkins
Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
The result depends only on the string, so it's possible to cache it
easily, and caching this for text drawing calls can have a good
hit rate.
Change-Id: I56c6e254cc176ab07afe0df24ed37b19579fe64d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131556
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
Let them use types that know string lengths, don't require conversion,
and are convenient at call sites.
Also inline the maps initialization, instead of having separate arrays
and initialization loops.
Change-Id: Id4469f3f99f3f0eb2cd83f0671cf892df4e420a0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131550
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
This is regression from:
commit 2d95b3846eac367d2baadc194ab258dc31e7bd33
Author: Tomaz Vajngerl <tomaz.vajngerl@collabora.co.uk>
Date: Thu Oct 7 16:48:46 2021 +0200
svx: Don't end text edit mode for all views
It was visible with "direct insertion" where user doesn't
need to draw anything but textbox is inserted in the center
of a screen (eg. used in LOK case)
Object was inserted into a view and right after that was removed when
EndTextEditCurrentView was called
Change-Id: I9943d46746aabadf96d76d6e74770b56d648b79d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131263
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Mert Tumer <mert.tumer@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131537
Tested-by: Jenkins
Reviewed-by: Szymon Kłos <szymon.klos@collabora.com>
regression from
commit 990b2cb056
Author: Noel Grandin <noel@peralex.com>
Date: Mon Jun 21 13:00:07 2021 +0200
simplify and improve Wildcard
Cannot pass a string_view into something expecting a char* because
then it gets the length wrong.
Change-Id: I638660a1e9a8a0d17e4d2f77500b3f01365a43d3
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131396
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
and merge the contents of the old set_accessible_relation_labeled_by
into that so there's only the need to have one call.
Change-Id: I1c109fddd59219c4364103bf00d4d5b140bbdeab
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131253
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolanm@redhat.com>