Files
loongoffice/sc/source/core/data/rowheightcontext.cxx
Markus Mohrhard ef3ca1da6b save about 50% of the import time for nearly empty ods documents
It seems that currently most of the time is spent iterating through all
the cells to get the optimal row height. We can easily optimize by using
mdds::flat_segment_tree.

Now we don't need to iterate through all cells and instead can work on
whole blocks.

Change-Id: Id9a0686490b0e91ad6552b428c38a9f6635a7938
Reviewed-on: https://gerrit.libreoffice.org/27856
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Markus Mohrhard <markus.mohrhard@googlemail.com>
2016-08-04 12:58:00 +00:00

44 lines
1.0 KiB
C++

/* -*- 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/.
*/
#include <rowheightcontext.hxx>
namespace sc {
RowHeightContext::RowHeightContext(
double fPPTX, double fPPTY, const Fraction& rZoomX, const Fraction& rZoomY,
OutputDevice* pOutDev ) :
maHeights(0),
mfPPTX(fPPTX), mfPPTY(fPPTY),
maZoomX(rZoomX), maZoomY(rZoomY),
mpOutDev(pOutDev),
mnExtraHeight(0),
mbForceAutoSize(false) {}
RowHeightContext::~RowHeightContext() {}
void RowHeightContext::setExtraHeight( sal_uInt16 nH )
{
mnExtraHeight = nH;
}
void RowHeightContext::setForceAutoSize( bool b )
{
mbForceAutoSize = b;
}
ScFlatUInt16RowSegments& RowHeightContext::getHeightArray()
{
return maHeights;
}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */