LibreOffice Module sc (master) 1
output.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#pragma once
21
22#include <address.hxx>
23#include <cellvalue.hxx>
24#include <tools/color.hxx>
25#include <tools/fract.hxx>
26#include <tools/gen.hxx>
27#include <editeng/svxenum.hxx>
28#include <vcl/outdev.hxx>
29#include <tools/degree.hxx>
30#include <o3tl/deleter.hxx>
31#include <optional>
32
33namespace sc {
34 class SpellCheckContext;
35}
36
37namespace editeng {
38 struct MisspellRanges;
39}
40namespace drawinglayer::processor2d { class BaseProcessor2D; }
41
42namespace vcl { class Font; }
43class EditEngine;
44class ScDocument;
45class ScPatternAttr;
46struct RowInfo;
47struct ScTableInfo;
48class ScTabViewShell;
49class ScPageBreakData;
50class FmFormView;
52class SdrPaintWindow;
53
54#define SC_SCENARIO_HSPACE 60
55#define SC_SCENARIO_VSPACE 50
56
58
60typedef std::unique_ptr<ClearableClipRegion, o3tl::default_delete<ClearableClipRegion>> ClearableClipRegionPtr;
61
70
72 : nX( 0 )
73 , nY( 0 )
74 , nWidth( 0 )
75 , nHeight( 0 )
76 , nTab( 0 )
77 , aColor( COL_AUTO ) {}
78
80 tools::Long aY,
81 tools::Long aWidth,
82 tools::Long aHeight,
83 tools::Long aTab,
84 const Color& rColor )
85 : nX( aX )
86 , nY( aY )
87 , nWidth( aWidth )
88 , nHeight( aHeight )
89 , nTab( aTab )
90 , aColor( rColor ) {}
91
92 bool Is() const { return ( nWidth > 0 && nHeight > 0 ); }
93};
94
96{
97friend class ScDrawStringsVars;
98friend class ScGridWindow;
99private:
101 {
109 };
110
112 {
113 public:
128 bool mbBreak:1;
142 const std::vector<editeng::MisspellRanges>* mpMisspellRanges;
143
144 explicit DrawEditParam(const ScPatternAttr* pPattern, const SfxItemSet* pCondSet, bool bCellIsValue);
145
146 bool readCellContent(const ScDocument* pDoc, bool bShowNullValues, bool bShowFormulas, bool bSyntaxMode, bool bUseStyleColor, bool bForceAutoColor, bool& rWrapFields);
147 void setPatternToEngine(bool bUseStyleColor);
148 void calcMargins(tools::Long& rTop, tools::Long& rLeft, tools::Long& rBottom, tools::Long& rRight, double nPPTX, double nPPTY) const;
149 void calcPaperSize(Size& rPaperSize, const tools::Rectangle& rAlignRect, double nPPTX, double nPPTY) const;
150 void getEngineSize(ScFieldEditEngine* pEngine, tools::Long& rWidth, tools::Long& rHeight) const;
151 bool hasLineBreak() const;
152 bool isHyperlinkCell() const;
153
159 bool isVerticallyOriented() const;
160
169 void calcStartPosForVertical(Point& rLogicStart, tools::Long nCellWidth, tools::Long nEngineWidth, tools::Long nTopM, const OutputDevice* pRefDevice);
170
173 void adjustForHyperlinkInPDF(Point aURLStart, const OutputDevice* pDev);
174 };
175
177 VclPtr<OutputDevice> mpRefDevice; // printer if used for preview
178 VclPtr<OutputDevice> pFmtDevice; // reference for text formatting
180 RowInfo* pRowInfo; // Info block
181 SCSIZE nArrCount; // occupied lines in info block
182 ScDocument* mpDoc; // Document
183 SCTAB nTab; // sheet
184 tools::Long nScrX; // Output Startpos. (Pixel)
186 tools::Long nScrW; // Output size (Pixel)
188 tools::Long nMirrorW; // Visible output width for mirroring (default: nScrW)
189 SCCOL nX1; // Start-/End coordinates
190 SCROW nY1; // ( incl. hidden )
193 SCCOL nVisX1; // Start-/End coordinates
194 SCROW nVisY1; // ( visible range )
197 ScOutputType eType; // Screen/Printer ...
198 double mnPPTX; // Pixel per Twips
199 double mnPPTY;
202
203 ScTabViewShell* pViewShell; // for connect from visible plug-ins
204
205 FmFormView* pDrawView; // SdrView to paint to
206
207 bool bEditMode; // InPlace edited cell - do not output
210
211 bool bMetaFile; // Output to metafile (not pixels!)
212
213 bool bPagebreakMode; // Page break preview
214 bool bSolidBackground; // white instead of transparent
215
218
219 bool mbSyntaxMode; // Syntax highlighting
220 std::optional<Color> mxValueColor;
221 std::optional<Color> mxTextColor;
222 std::optional<Color> mxFormulaColor;
223
225
228 bool bShowSpellErrors; // Show spelling errors in EditObjects
230
232
233 bool bAnyClipped; // internal
237
238 // #i74769# use SdrPaintWindow direct, remember it during BeginDrawLayers/EndDrawLayers
241
242 // private methods
243
244 bool GetMergeOrigin( SCCOL nX, SCROW nY, SCSIZE nArrY,
245 SCCOL& rOverX, SCROW& rOverY, bool bVisRowChanged );
246 bool IsEmptyCellText( const RowInfo* pThisRowInfo, SCCOL nX, SCROW nY );
247 void GetVisibleCell( SCCOL nCol, SCROW nRow, SCTAB nTab, ScRefCellValue& rCell );
248
249 bool IsAvailable( SCCOL nX, SCROW nY );
250
251 void GetOutputArea( SCCOL nX, SCSIZE nArrY, tools::Long nPosX, tools::Long nPosY,
252 SCCOL nCellX, SCROW nCellY, tools::Long nNeeded,
253 const ScPatternAttr& rPattern,
254 sal_uInt16 nHorJustify, bool bCellIsValue,
255 bool bBreak, bool bOverwrite,
256 OutputAreaParam& rParam );
257
258 void ShrinkEditEngine( EditEngine& rEngine, const tools::Rectangle& rAlignRect,
259 tools::Long nLeftM, tools::Long nTopM, tools::Long nRightM, tools::Long nBottomM,
260 bool bWidth, SvxCellOrientation nOrient, Degree100 nAttrRotate, bool bPixelToLogic,
261 tools::Long& rEngineWidth, tools::Long& rEngineHeight, tools::Long& rNeededPixel,
262 bool& rLeftClip, bool& rRightClip );
263
264 void SetSyntaxColor( vcl::Font* pFont, const ScRefCellValue& rCell );
265 void SetEditSyntaxColor( EditEngine& rEngine, const ScRefCellValue& rCell );
266
267 double GetStretch() const;
268
269 void DrawRotatedFrame(vcl::RenderContext& rRenderContext); // pixel
270
271 std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> CreateProcessor2D( );
272
273 void DrawEditStandard(DrawEditParam& rParam);
274 void DrawEditBottomTop(DrawEditParam& rParam);
275 void DrawEditTopBottom(DrawEditParam& rParam);
276 void DrawEditStacked(DrawEditParam& rParam);
278
279 std::unique_ptr<ScFieldEditEngine> CreateOutputEditEngine();
280
281 void ShowClipMarks( DrawEditParam& rParam, tools::Long nEngineWidth, const Size& aCellSize,
282 bool bMerged, OutputAreaParam& aAreaParam, bool bTop );
283
284 ClearableClipRegionPtr Clip(DrawEditParam& rParam, const Size& aCellSize, OutputAreaParam& aAreaParam,
285 tools::Long nEngineWidth, bool bWrapFields, bool bTop);
286
288 tools::Long SetEngineTextAndGetWidth( DrawEditParam& rParam, const OUString& rSetString,
289 tools::Long& rNeededPixel, tools::Long nAddWidthPixels );
290
291 // Check for and set cell rotations at OutputData to have it available
292 // in the svx tooling to render the borders. Moved to private section
293 // and the single call to end of constructor to be sure this always happens
294 void SetCellRotations();
295
296public:
297
303 ScOutputData( OutputDevice* pNewDev, ScOutputType eNewType,
304 ScTableInfo& rTabInfo, ScDocument* pNewDoc,
305 SCTAB nNewTab, tools::Long nNewScrX, tools::Long nNewScrY,
306 SCCOL nNewX1, SCROW nNewY1, SCCOL nNewX2, SCROW nNewY2,
307 double nPixelPerTwipsX, double nPixelPerTwipsY,
308 const Fraction* pZoomX = nullptr,
309 const Fraction* pZoomY = nullptr );
310
312
314 void SetContentDevice( OutputDevice* pContentDev );
315
316 void SetRefDevice( OutputDevice* pRDev ) { mpRefDevice = pFmtDevice = pRDev; }
317 void SetFmtDevice( OutputDevice* pRDev ) { pFmtDevice = pRDev; }
318 void SetViewShell( ScTabViewShell* pSh ) { pViewShell = pSh; }
319
320 void SetDrawView( FmFormView* pNew ) { pDrawView = pNew; }
321
322 void SetSolidBackground( bool bSet ) { bSolidBackground = bSet; }
323 void SetUseStyleColor( bool bSet ) { mbUseStyleColor = bSet; }
324
325 void SetEditCell( SCCOL nCol, SCROW nRow );
326 void SetSyntaxMode( bool bNewMode );
327 void SetMetaFileMode( bool bNewMode );
328 void SetGridColor( const Color& rColor );
329 void SetMarkClipped( bool bSet );
330 void SetShowNullValues ( bool bSet );
331 void SetShowFormulas ( bool bSet );
332 void SetShowSpellErrors( bool bSet );
333 void SetMirrorWidth( tools::Long nNew );
334 tools::Long GetScrW() const { return nScrW; }
335 tools::Long GetScrH() const { return nScrH; }
336
337 void SetSnapPixel();
338
339 void DrawGrid(vcl::RenderContext& rRenderContext, bool bGrid, bool bPage, bool bMergeCover = false);
340 void DrawStrings( bool bPixelToLogic = false );
341
343 tools::Rectangle LayoutStrings(bool bPixelToLogic, bool bPaint = true, const ScAddress &rAddress = ScAddress());
344
346 void DrawBackground(vcl::RenderContext& rRenderContext);
347 void DrawShadow();
348 void DrawExtraShadow(bool bLeft, bool bTop, bool bRight, bool bBottom);
349 void DrawFrame(vcl::RenderContext& rRenderContext);
350
351 // with logic MapMode set!
352 void DrawEdit(bool bPixelToLogic);
353 void DrawRotated(bool bPixelToLogic); // logical
354
355 void DrawClear();
356
357 // #i72502# printer only command set
359 void PostPrintDrawingLayer(const Point& rMMOffset); // #i74768# need offset for FormLayer
360 void PrintDrawingLayer(SdrLayerID nLayer, const Point& rMMOffset);
361
362 // only screen:
363 void DrawSelectiveObjects(SdrLayerID nLayer);
364
365 bool SetChangedClip(); // sal_False = not
367
368 void FindChanged();
369 void SetPagebreakMode( ScPageBreakData* pPageData );
371 void DrawRefMark( SCCOL nRefStartX, SCROW nRefStartY,
372 SCCOL nRefEndX, SCROW nRefEndY,
373 const Color& rColor, bool bHandle );
374 ReferenceMark FillReferenceMark( SCCOL nRefStartX, SCROW nRefStartY,
375 SCCOL nRefEndX, SCROW nRefEndY,
376 const Color& rColor );
377 void DrawOneChange( SCCOL nRefStartX, SCROW nRefStartY,
378 SCCOL nRefEndX, SCROW nRefEndY,
379 const Color& rColor, sal_uInt16 nType );
380 void DrawChangeTrack();
381 void DrawClipMarks();
382
383 void DrawNoteMarks(vcl::RenderContext& rRenderContext);
384 void DrawFormulaMarks(vcl::RenderContext& rRenderContext);
385 void AddPDFNotes();
386 void DrawSparklines(vcl::RenderContext& rRenderContext);
387};
388
389/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
size_t SCSIZE
size_t typedef to be able to find places where code was changed from USHORT to size_t and is used to ...
Definition: address.hxx:44
bool adjustHorAlignment(ScFieldEditEngine *pEngine)
Definition: output2.cxx:2706
bool readCellContent(const ScDocument *pDoc, bool bShowNullValues, bool bShowFormulas, bool bSyntaxMode, bool bUseStyleColor, bool bForceAutoColor, bool &rWrapFields)
Definition: output2.cxx:2380
SvxCellJustifyMethod meHorJustMethod
Definition: output.hxx:118
void adjustForHyperlinkInPDF(Point aURLStart, const OutputDevice *pDev)
Definition: output2.cxx:2721
SvxCellOrientation meOrient
Definition: output.hxx:120
const SfxItemSet * mpCondSet
Definition: output.hxx:136
const std::vector< editeng::MisspellRanges > * mpMisspellRanges
Definition: output.hxx:142
SvxCellJustifyMethod meVerJustMethod
Definition: output.hxx:119
bool isVerticallyOriented() const
When the text is vertically oriented, the text is either rotated 90 degrees to the right or 90 degree...
Definition: output2.cxx:2563
const SfxItemSet * mpPreviewFontSet
Definition: output.hxx:137
SvxCellHorJustify meHorJustAttr
alignment attribute
Definition: output.hxx:114
const ScPatternAttr * mpPattern
Definition: output.hxx:135
ScFieldEditEngine * mpEngine
Definition: output.hxx:133
ScRefCellValue maCell
Definition: output.hxx:134
void calcPaperSize(Size &rPaperSize, const tools::Rectangle &rAlignRect, double nPPTX, double nPPTY) const
Definition: output2.cxx:2505
const SfxItemSet * mpOldPreviewFontSet
Definition: output.hxx:140
DrawEditParam(const ScPatternAttr *pPattern, const SfxItemSet *pCondSet, bool bCellIsValue)
Definition: output2.cxx:2353
void getEngineSize(ScFieldEditEngine *pEngine, tools::Long &rWidth, tools::Long &rHeight) const
Definition: output2.cxx:2532
void setPatternToEngine(bool bUseStyleColor)
Definition: output2.cxx:2427
SvxCellHorJustify meHorJustResult
result for EditEngine
Definition: output.hxx:116
void calcStartPosForVertical(Point &rLogicStart, tools::Long nCellWidth, tools::Long nEngineWidth, tools::Long nTopM, const OutputDevice *pRefDevice)
Calculate offset position for vertically oriented (either top-bottom or bottom-top orientation) text.
Definition: output2.cxx:2568
SvxCellVerJustify meVerJust
Definition: output.hxx:117
const ScPatternAttr * mpOldPattern
Definition: output.hxx:138
bool isHyperlinkCell() const
Definition: output2.cxx:2555
void calcMargins(tools::Long &rTop, tools::Long &rLeft, tools::Long &rBottom, tools::Long &rRight, double nPPTX, double nPPTY) const
Definition: output2.cxx:2486
const SfxItemSet * mpOldCondSet
Definition: output.hxx:139
SvxCellHorJustify meHorJustContext
context depending on attribute, content and direction
Definition: output.hxx:115
tools::Long GetScrH() const
Definition: output.hxx:335
void DrawChangeTrack()
Definition: output.cxx:2242
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)
Definition: output.cxx:140
ScTableInfo & mrTabInfo
Definition: output.hxx:179
SCROW nY2
Definition: output.hxx:192
bool bPagebreakMode
Definition: output.hxx:213
void DrawOneChange(SCCOL nRefStartX, SCROW nRefStartY, SCCOL nRefEndX, SCROW nRefEndY, const Color &rColor, sal_uInt16 nType)
Definition: output.cxx:2128
void DrawEditStacked(DrawEditParam &rParam)
Definition: output2.cxx:3745
ReferenceMark FillReferenceMark(SCCOL nRefStartX, SCROW nRefStartY, SCCOL nRefEndX, SCROW nRefEndY, const Color &rColor)
Definition: output.cxx:1917
void DrawClear()
Definition: output.cxx:1332
tools::Long nScrY
Definition: output.hxx:185
SdrPaintWindow * mpTargetPaintWindow
Definition: output.hxx:239
SCTAB nTab
Definition: output.hxx:183
SCCOL nEditCol
Definition: output.hxx:208
void PostPrintDrawingLayer(const Point &rMMOffset)
Definition: output3.cxx:104
void SetFmtDevice(OutputDevice *pRDev)
Definition: output.hxx:317
VclPtr< OutputDevice > mpDev
Definition: output.hxx:176
Fraction aZoomY
Definition: output.hxx:201
VclPtr< OutputDevice > mpRefDevice
Definition: output.hxx:177
tools::Long nScrW
Definition: output.hxx:186
bool bVertical
Definition: output.hxx:234
tools::Long nScrH
Definition: output.hxx:187
void SetEditCell(SCCOL nCol, SCROW nRow)
Definition: output.cxx:272
void DrawClipMarks()
Definition: output.cxx:2610
bool bMetaFile
Definition: output.hxx:211
void GetOutputArea(SCCOL nX, SCSIZE nArrY, tools::Long nPosX, tools::Long nPosY, SCCOL nCellX, SCROW nCellY, tools::Long nNeeded, const ScPatternAttr &rPattern, sal_uInt16 nHorJustify, bool bCellIsValue, bool bBreak, bool bOverwrite, OutputAreaParam &rParam)
Definition: output2.cxx:1186
void AddPDFNotes()
Definition: output.cxx:2528
void SetSyntaxColor(vcl::Font *pFont, const ScRefCellValue &rCell)
Definition: output2.cxx:884
double mnPPTY
Definition: output.hxx:199
bool bEditMode
Definition: output.hxx:207
SCCOL nVisX2
Definition: output.hxx:195
bool mbSyntaxMode
Definition: output.hxx:219
void DrawRotatedFrame(vcl::RenderContext &rRenderContext)
Definition: output.cxx:1511
void SetSnapPixel()
Definition: output.cxx:267
bool bMarkClipped
Definition: output.hxx:229
SCCOL nVisX1
Definition: output.hxx:193
tools::Long nMirrorW
Definition: output.hxx:188
void SetCellRotations()
Definition: output.cxx:619
bool mbForceAutoColor
Definition: output.hxx:217
SCCOL nX1
Definition: output.hxx:189
void DrawStrings(bool bPixelToLogic=false)
Definition: output2.cxx:1470
bool bAnyClipped
Definition: output.hxx:233
void DrawEditBottomTop(DrawEditParam &rParam)
Definition: output2.cxx:3265
SCROW nEditRow
Definition: output.hxx:209
void PrintDrawingLayer(SdrLayerID nLayer, const Point &rMMOffset)
Definition: output3.cxx:135
double mnPPTX
Definition: output.hxx:198
bool GetMergeOrigin(SCCOL nX, SCROW nY, SCSIZE nArrY, SCCOL &rOverX, SCROW &rOverY, bool bVisRowChanged)
Definition: output2.cxx:935
bool AdjustAreaParamClipRect(OutputAreaParam &rAreaParam)
Definition: output2.cxx:2749
void SetViewShell(ScTabViewShell *pSh)
Definition: output.hxx:318
void SetSyntaxMode(bool bNewMode)
Definition: output.cxx:284
bool IsAvailable(SCCOL nX, SCROW nY)
Definition: output2.cxx:1160
SCROW nVisY2
Definition: output.hxx:196
bool bSnapPixel
Definition: output.hxx:231
void SetMirrorWidth(tools::Long nNew)
Definition: output.cxx:237
SCCOL nX2
Definition: output.hxx:191
ScOutputType eType
Definition: output.hxx:197
bool bShowSpellErrors
Definition: output.hxx:228
RowInfo * pRowInfo
Definition: output.hxx:180
void SetSolidBackground(bool bSet)
Definition: output.hxx:322
VclPtr< OutputDevice > pFmtDevice
Definition: output.hxx:178
Fraction aZoomX
Definition: output.hxx:200
void DrawSparklines(vcl::RenderContext &rRenderContext)
Definition: output.cxx:2306
void SetShowNullValues(bool bSet)
Definition: output.cxx:252
void FindChanged()
Definition: output.cxx:1813
SCROW nVisY1
Definition: output.hxx:194
bool SetChangedClip()
Definition: output.cxx:1772
void DrawFrame(vcl::RenderContext &rRenderContext)
Definition: output.cxx:1387
void DrawExtraShadow(bool bLeft, bool bTop, bool bRight, bool bBottom)
Definition: output.cxx:1191
ScDocument * mpDoc
Definition: output.hxx:182
void SetShowSpellErrors(bool bSet)
Definition: output.cxx:262
tools::Long SetEngineTextAndGetWidth(DrawEditParam &rParam, const OUString &rSetString, tools::Long &rNeededPixel, tools::Long nAddWidthPixels)
Definition: output2.cxx:2824
FmFormView * pDrawView
Definition: output.hxx:205
SCROW nY1
Definition: output.hxx:190
void DrawShadow()
Definition: output.cxx:1186
ClearableClipRegionPtr Clip(DrawEditParam &rParam, const Size &aCellSize, OutputAreaParam &aAreaParam, tools::Long nEngineWidth, bool bWrapFields, bool bTop)
Definition: output2.cxx:3231
void DrawNoteMarks(vcl::RenderContext &rRenderContext)
Definition: output.cxx:2377
bool bLayoutRTL
Definition: output.hxx:236
void DrawEditTopBottom(DrawEditParam &rParam)
Definition: output2.cxx:3508
bool mbUseStyleColor
Definition: output.hxx:216
void DrawSelectiveObjects(SdrLayerID nLayer)
Definition: output3.cxx:170
void DrawBackground(vcl::RenderContext &rRenderContext)
Definition: output.cxx:1022
bool bSolidBackground
Definition: output.hxx:214
void SetGridColor(const Color &rColor)
Definition: output.cxx:242
void SetMarkClipped(bool bSet)
Definition: output.cxx:247
SCSIZE nArrCount
Definition: output.hxx:181
void DrawEdit(bool bPixelToLogic)
Definition: output2.cxx:4292
tools::Long nScrX
Definition: output.hxx:184
void DrawGrid(vcl::RenderContext &rRenderContext, bool bGrid, bool bPage, bool bMergeCover=false)
Definition: output.cxx:296
void DrawDocumentBackground()
Definition: output.cxx:816
Point PrePrintDrawingLayer(tools::Long nLogStX, tools::Long nLogStY)
Definition: output3.cxx:38
std::optional< Color > mxValueColor
Definition: output.hxx:220
bool mbShowNullValues
Definition: output.hxx:226
tools::Rectangle LayoutStrings(bool bPixelToLogic, bool bPaint=true, const ScAddress &rAddress=ScAddress())
Draw all strings, or provide Rectangle where the text (defined by rAddress) would be drawn.
Definition: output2.cxx:1475
Color aGridColor
Definition: output.hxx:224
void SetMetaFileMode(bool bNewMode)
Definition: output.cxx:279
vcl::Region GetChangedAreaRegion()
Definition: output.cxx:1730
std::unique_ptr< ScFieldEditEngine > CreateOutputEditEngine()
Definition: output2.cxx:2154
void DrawEditAsianVertical(DrawEditParam &rParam)
Definition: output2.cxx:4028
void GetVisibleCell(SCCOL nCol, SCROW nRow, SCTAB nTab, ScRefCellValue &rCell)
Definition: output2.cxx:1153
bool mbShowFormulas
Definition: output.hxx:227
void ShowClipMarks(DrawEditParam &rParam, tools::Long nEngineWidth, const Size &aCellSize, bool bMerged, OutputAreaParam &aAreaParam, bool bTop)
Definition: output2.cxx:3191
std::optional< Color > mxFormulaColor
Definition: output.hxx:222
const sc::SpellCheckContext * mpSpellCheckCxt
Definition: output.hxx:240
void SetRefDevice(OutputDevice *pRDev)
Definition: output.hxx:316
ScTabViewShell * pViewShell
Definition: output.hxx:203
void SetUseStyleColor(bool bSet)
Definition: output.hxx:323
void SetSpellCheckContext(const sc::SpellCheckContext *pCxt)
Definition: output.cxx:221
bool bTabProtected
Definition: output.hxx:235
std::unique_ptr< drawinglayer::processor2d::BaseProcessor2D > CreateProcessor2D()
Definition: output.cxx:1710
void SetShowFormulas(bool bSet)
Definition: output.cxx:257
std::optional< Color > mxTextColor
Definition: output.hxx:221
void ShrinkEditEngine(EditEngine &rEngine, const tools::Rectangle &rAlignRect, tools::Long nLeftM, tools::Long nTopM, tools::Long nRightM, tools::Long nBottomM, bool bWidth, SvxCellOrientation nOrient, Degree100 nAttrRotate, bool bPixelToLogic, tools::Long &rEngineWidth, tools::Long &rEngineHeight, tools::Long &rNeededPixel, bool &rLeftClip, bool &rRightClip)
Definition: output2.cxx:2274
void SetEditSyntaxColor(EditEngine &rEngine, const ScRefCellValue &rCell)
Definition: output2.cxx:913
void DrawRotated(bool bPixelToLogic)
Definition: output2.cxx:4483
void DrawRefMark(SCCOL nRefStartX, SCROW nRefStartY, SCCOL nRefEndX, SCROW nRefEndY, const Color &rColor, bool bHandle)
Draws reference mark and returns its properties.
Definition: output.cxx:2005
bool IsEmptyCellText(const RowInfo *pThisRowInfo, SCCOL nX, SCROW nY)
Definition: output2.cxx:1112
void SetDrawView(FmFormView *pNew)
Definition: output.hxx:320
double GetStretch() const
Definition: output2.cxx:833
void SetPagebreakMode(ScPageBreakData *pPageData)
Definition: output.cxx:587
void DrawEditStandard(DrawEditParam &rParam)
Definition: output2.cxx:2839
void SetContentDevice(OutputDevice *pContentDev)
Definition: output.cxx:226
void DrawFormulaMarks(vcl::RenderContext &rRenderContext)
Definition: output.cxx:2456
tools::Long GetScrW() const
Definition: output.hxx:334
Class shared between grid windows to cache spelling results.
constexpr ::Color COL_AUTO(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
constexpr double nPPTX
constexpr double nPPTY
CAUTION! The following defines must be in the same namespace as the respective type.
Definition: broadcast.cxx:15
long Long
std::unique_ptr< ClearableClipRegion, o3tl::default_delete< ClearableClipRegion > > ClearableClipRegionPtr
Definition: output.hxx:59
ScOutputType
Definition: output.hxx:57
@ OUTTYPE_PRINTER
Definition: output.hxx:57
@ OUTTYPE_WINDOW
Definition: output.hxx:57
QPRO_FUNC_TYPE nType
Definition: qproform.cxx:398
Describes reference mark to be drawn, position & size in TWIPs.
Definition: output.hxx:63
tools::Long nHeight
Definition: output.hxx:67
Color aColor
Definition: output.hxx:69
tools::Long nX
Definition: output.hxx:64
tools::Long nTab
Definition: output.hxx:68
ReferenceMark(tools::Long aX, tools::Long aY, tools::Long aWidth, tools::Long aHeight, tools::Long aTab, const Color &rColor)
Definition: output.hxx:79
bool Is() const
Definition: output.hxx:92
tools::Long nY
Definition: output.hxx:65
tools::Long nWidth
Definition: output.hxx:66
bool mbLeftClip
length of the string getting cut off on the right.
Definition: output.hxx:107
tools::Rectangle maClipRect
Definition: output.hxx:103
tools::Long mnRightClipLength
length of the string getting cut off on the left.
Definition: output.hxx:106
tools::Rectangle maAlignRect
Definition: output.hxx:102
This is very similar to ScCellValue, except that it references the original value instead of copying ...
Definition: cellvalue.hxx:108
SvxCellJustifyMethod
SvxCellHorJustify
SvxCellVerJustify
SvxCellOrientation
sal_Int16 SCTAB
Definition: types.hxx:22
sal_Int16 SCCOL
Definition: types.hxx:21
sal_Int32 SCROW
Definition: types.hxx:17