/* -*- 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/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
namespace vcl { class Font; } class EditEngine; class ScDocument; class ScPatternAttr; struct RowInfo; struct ScTableInfo; class ScTabViewShell; class ScPageBreakData; class FmFormView; class ScFieldEditEngine; class SdrPaintWindow;
/// Describes reference mark to be drawn, position & size in TWIPs struct ReferenceMark {
tools::Long nX;
tools::Long nY;
tools::Long nWidth;
tools::Long nHeight;
tools::Long nTab;
Color aColor;
class ScOutputData
{ friendclass ScDrawStringsVars; friendclass ScGridWindow; private: struct OutputAreaParam
{
tools::Rectangle maAlignRect;
tools::Rectangle maClipRect;
tools::Long mnColWidth;
tools::Long mnLeftClipLength; /// length of the string getting cut off on the left.
tools::Long mnRightClipLength; /// length of the string getting cut off on the right. bool mbLeftClip; bool mbRightClip;
};
/** * When the text is vertically oriented, the text is either rotated 90 * degrees to the right or 90 degrees to the left. Note that this is * different from being vertically stacked.
*/ bool isVerticallyOriented() const;
/** * Calculate offset position for vertically oriented (either * top-bottom or bottom-top orientation) text. * * @param rLogicStart initial position in pixels. When the call is * finished, this parameter will store the new * position.
*/ void calcStartPosForVertical(Point& rLogicStart, tools::Long nCellWidth, tools::Long nEngineWidth, tools::Long nTopM, const OutputDevice* pRefDevice);
// Check for and set cell rotations at OutputData to have it available // in the svx tooling to render the borders. Moved to private section // and the single call to end of constructor to be sure this always happens void SetCellRotations();
public:
/** * @param nNewScrX: X-Offset in the output device for the table * @param nNewScrY: Y-Offset in the output device for the table *
*/
ScOutputData( OutputDevice* pNewDev, ScOutputType eNewType,
ScTableInfo& rTabInfo, ScDocument* pNewDoc,
SCTAB nNewTab, tools::Long nNewScrX, tools::Long nNewScrY,
SCCOL nNewX1, SCROW nNewY1, SCCOL nNewX2, SCROW nNewY2, double nPixelPerTwipsX, double nPixelPerTwipsY, const Fraction* pZoomX = nullptr, const Fraction* pZoomY = nullptr );
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.