From a8b1699ca9c7e8c43eff79467451fd1fcb4fde9b Mon Sep 17 00:00:00 2001 From: Katarina Behrens Date: Mon, 1 Jul 2019 18:20:02 +0200 Subject: speed-up shape import if shapes need z-order rearranging setting z-order individually on each shape and broadcasting is O(n^2) (remaining shapes also need reordering) and this is bad bad bad for performance Change-Id: Ic9c9137a097f6ff524192693910f221885f77cc4 Reviewed-on: https://gerrit.libreoffice.org/75055 Tested-by: Jenkins Reviewed-by: Michael Stahl --- offapi/com/sun/star/drawing/XShapes3.idl | 43 ++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 offapi/com/sun/star/drawing/XShapes3.idl (limited to 'offapi/com/sun') diff --git a/offapi/com/sun/star/drawing/XShapes3.idl b/offapi/com/sun/star/drawing/XShapes3.idl new file mode 100644 index 000000000000..ebb23e7d3a11 --- /dev/null +++ b/offapi/com/sun/star/drawing/XShapes3.idl @@ -0,0 +1,43 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + */ + +#ifndef __com_sun_star_drawing_XShapes3_idl__ +#define __com_sun_star_drawing_XShapes3_idl__ + +#include + +module com { module sun { module star { module drawing { + +/** + * Yet another XShapes interface, enables sorting shapes with + * some extra attention paid to shapes with textboxes and overall + * performance + * + * @since LibreOffice 6.4 + */ +interface XShapes3 +{ + /** + * Sort shapes according to given sort order, for perf reason + * just rearrange and don't broadcast + * + * @param desired order of the shapes + * + * @since LibreOffice 6.4 + */ + + void sort( [in] sequence< long> sortOrder ) + raises( com::sun::star::lang::IllegalArgumentException ); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ -- cgit