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 #ifndef INCLUDED_SC_SOURCE_UI_INC_OUTPUT_HXX
21 #define INCLUDED_SC_SOURCE_UI_INC_OUTPUT_HXX
22 
23 #include <address.hxx>
24 #include <cellvalue.hxx>
25 #include <tools/color.hxx>
26 #include <tools/fract.hxx>
27 #include <tools/gen.hxx>
28 #include <editeng/svxenum.hxx>
29 #include <vcl/outdev.hxx>
30 #include <tools/degree.hxx>
31 #include <o3tl/deleter.hxx>
32 #include <optional>
33 
34 namespace sc {
35  class SpellCheckContext;
36 }
37 
38 namespace editeng {
39  struct MisspellRanges;
40 }
41 namespace drawinglayer::processor2d { class BaseProcessor2D; }
42 
43 namespace vcl { class Font; }
44 class EditEngine;
45 class ScDocument;
46 class ScPatternAttr;
47 struct RowInfo;
48 struct ScTableInfo;
49 class ScTabViewShell;
50 class ScPageBreakData;
51 class FmFormView;
52 class ScFieldEditEngine;
53 class SdrPaintWindow;
54 
55 #define SC_SCENARIO_HSPACE 60
56 #define SC_SCENARIO_VSPACE 50
57 
59 
61 typedef std::unique_ptr<ClearableClipRegion, o3tl::default_delete<ClearableClipRegion>> ClearableClipRegionPtr;
62 
64 struct ReferenceMark {
71 
73  : nX( 0 )
74  , nY( 0 )
75  , nWidth( 0 )
76  , nHeight( 0 )
77  , nTab( 0 )
78  , aColor( COL_AUTO ) {}
79 
81  tools::Long aY,
82  tools::Long aWidth,
83  tools::Long aHeight,
84  tools::Long aTab,
85  const Color& rColor )
86  : nX( aX )
87  , nY( aY )
88  , nWidth( aWidth )
89  , nHeight( aHeight )
90  , nTab( aTab )
91  , aColor( rColor ) {}
92 
93  bool Is() const { return ( nWidth > 0 && nHeight > 0 ); }
94 };
95 
97 {
98 friend class ScDrawStringsVars;
99 friend class ScGridWindow;
100 private:
102  {
110  };
111 
113  {
114  public:
129  bool mbBreak:1;
143  const std::vector<editeng::MisspellRanges>* mpMisspellRanges;
144 
145  explicit DrawEditParam(const ScPatternAttr* pPattern, const SfxItemSet* pCondSet, bool bCellIsValue);
146 
147  bool readCellContent(const ScDocument* pDoc, bool bShowNullValues, bool bShowFormulas, bool bSyntaxMode, bool bUseStyleColor, bool bForceAutoColor, bool& rWrapFields);
148  void setPatternToEngine(bool bUseStyleColor);
149  void calcMargins(tools::Long& rTop, tools::Long& rLeft, tools::Long& rBottom, tools::Long& rRight, double nPPTX, double nPPTY) const;
150  void calcPaperSize(Size& rPaperSize, const tools::Rectangle& rAlignRect, double nPPTX, double nPPTY) const;
151  void getEngineSize(ScFieldEditEngine* pEngine, tools::Long& rWidth, tools::Long& rHeight) const;
152  bool hasLineBreak() const;
153  bool isHyperlinkCell() const;
154 
160  bool isVerticallyOriented() const;
161 
170  void calcStartPosForVertical(Point& rLogicStart, tools::Long nCellWidth, tools::Long nEngineWidth, tools::Long nTopM, const OutputDevice* pRefDevice);
171 
172  void setAlignmentToEngine();
173  bool adjustHorAlignment(ScFieldEditEngine* pEngine);
174  void adjustForHyperlinkInPDF(Point aURLStart, const OutputDevice* pDev);
175  };
176 
178  VclPtr<OutputDevice> mpRefDevice; // printer if used for preview
179  VclPtr<OutputDevice> pFmtDevice; // reference for text formatting
181  RowInfo* pRowInfo; // Info block
182  SCSIZE nArrCount; // occupied lines in info block
183  ScDocument* mpDoc; // Document
184  SCTAB nTab; // sheet
185  tools::Long nScrX; // Output Startpos. (Pixel)
187  tools::Long nScrW; // Output size (Pixel)
189  tools::Long nMirrorW; // Visible output width for mirroring (default: nScrW)
190  SCCOL nX1; // Start-/End coordinates
191  SCROW nY1; // ( incl. hidden )
194  SCCOL nVisX1; // Start-/End coordinates
195  SCROW nVisY1; // ( visible range )
198  ScOutputType eType; // Screen/Printer ...
199  double mnPPTX; // Pixel per Twips
200  double mnPPTY;
203 
204  ScTabViewShell* pViewShell; // for connect from visible plug-ins
205 
206  FmFormView* pDrawView; // SdrView to paint to
207 
208  bool bEditMode; // InPlace edited cell - do not output
211 
212  bool bMetaFile; // Output to metafile (not pixels!)
213 
214  bool bPagebreakMode; // Page break preview
215  bool bSolidBackground; // white instead of transparent
216 
219 
220  bool mbSyntaxMode; // Syntax highlighting
221  std::optional<Color> mxValueColor;
222  std::optional<Color> mxTextColor;
223  std::optional<Color> mxFormulaColor;
224 
226 
229  bool bShowSpellErrors; // Show spelling errors in EditObjects
231 
233 
234  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);
277  void DrawEditAsianVertical(DrawEditParam& rParam);
278 
279  std::unique_ptr<ScFieldEditEngine> CreateOutputEditEngine();
280 
281  void ShowClipMarks( DrawEditParam& rParam, tools::Long nEngineHeight, const Size& aCellSize,
282  bool bMerged, OutputAreaParam& aAreaParam );
283 
284  ClearableClipRegionPtr Clip(DrawEditParam& rParam, const Size& aCellSize, OutputAreaParam& aAreaParam,
285  tools::Long nEngineHeight, bool bWrapFields);
286 
287  bool AdjustAreaParamClipRect(OutputAreaParam& rAreaParam);
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 
296 public:
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 
311  ~ScOutputData();
312 
313  void SetSpellCheckContext( const sc::SpellCheckContext* pCxt );
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);
340  void DrawStrings( bool bPixelToLogic = false );
341 
343  tools::Rectangle LayoutStrings(bool bPixelToLogic, bool bPaint = true, const ScAddress &rAddress = ScAddress());
344 
345  void DrawDocumentBackground();
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 AddPDFNotes();
385 };
386 
387 #endif
388 
389 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
tools::Long nScrY
Definition: output.hxx:186
void SetSyntaxMode(bool bNewMode)
Definition: output.cxx:278
SvxCellJustifyMethod meVerJustMethod
Definition: output.hxx:120
constexpr double nPPTY
SvxCellHorJustify
bool adjustHorAlignment(ScFieldEditEngine *pEngine)
Definition: output2.cxx:2676
std::optional< Color > mxTextColor
Definition: output.hxx:222
SCROW nEditRow
Definition: output.hxx:210
bool IsEmptyCellText(const RowInfo *pThisRowInfo, SCCOL nX, SCROW nY)
Definition: output2.cxx:1089
void DrawFrame(vcl::RenderContext &rRenderContext)
Definition: output.cxx:1355
void SetShowNullValues(bool bSet)
Definition: output.cxx:246
bool AdjustAreaParamClipRect(OutputAreaParam &rAreaParam)
Definition: output2.cxx:2719
void getEngineSize(ScFieldEditEngine *pEngine, tools::Long &rWidth, tools::Long &rHeight) const
Definition: output2.cxx:2498
std::unique_ptr< ScFieldEditEngine > CreateOutputEditEngine()
Definition: output2.cxx:2117
void SetUseStyleColor(bool bSet)
Definition: output.hxx:323
SvxCellVerJustify meVerJust
Definition: output.hxx:118
Class shared between grid windows to cache spelling results.
void DrawClipMarks()
Definition: output.cxx:2447
Point PrePrintDrawingLayer(tools::Long nLogStX, tools::Long nLogStY)
Definition: output3.cxx:34
bool bLayoutRTL
Definition: output.hxx:236
tools::Long nX
Definition: output.hxx:65
bool mbUseStyleColor
Definition: output.hxx:217
SvxCellHorJustify meHorJustAttr
alignment attribute
Definition: output.hxx:115
bool bSnapPixel
Definition: output.hxx:232
SCCOL nX1
Definition: output.hxx:190
std::unique_ptr< ClearableClipRegion, o3tl::default_delete< ClearableClipRegion > > ClearableClipRegionPtr
Definition: output.hxx:60
SCCOL nEditCol
Definition: output.hxx:209
long Long
void SetSyntaxColor(vcl::Font *pFont, const ScRefCellValue &rCell)
Definition: output2.cxx:861
const sc::SpellCheckContext * mpSpellCheckCxt
Definition: output.hxx:240
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:1984
void SetSnapPixel()
Definition: output.cxx:261
bool mbShowFormulas
Definition: output.hxx:228
const SfxItemSet * mpOldCondSet
Definition: output.hxx:140
void DrawSelectiveObjects(SdrLayerID nLayer)
Definition: output3.cxx:166
void DrawChangeTrack()
Definition: output.cxx:2229
tools::Long nTab
Definition: output.hxx:69
DrawEditParam(const ScPatternAttr *pPattern, const SfxItemSet *pCondSet, bool bCellIsValue)
Definition: output2.cxx:2317
ScOutputType eType
Definition: output.hxx:198
ScFieldEditEngine * mpEngine
Definition: output.hxx:134
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:2238
void SetSolidBackground(bool bSet)
Definition: output.hxx:322
void SetShowFormulas(bool bSet)
Definition: output.cxx:251
bool bPagebreakMode
Definition: output.hxx:214
Fraction aZoomX
Definition: output.hxx:201
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:2533
void SetMarkClipped(bool bSet)
Definition: output.cxx:241
This is very similar to ScCellValue, except that it references the original value instead of copying ...
Definition: cellvalue.hxx:104
void DrawEditAsianVertical(DrawEditParam &rParam)
Definition: output2.cxx:3981
SvxCellHorJustify meHorJustContext
context depending on attribute, content and direction
Definition: output.hxx:116
SvxCellHorJustify meHorJustResult
result for EditEngine
Definition: output.hxx:117
tools::Long nHeight
Definition: output.hxx:68
bool bMetaFile
Definition: output.hxx:212
ReferenceMark FillReferenceMark(SCCOL nRefStartX, SCROW nRefStartY, SCCOL nRefEndX, SCROW nRefEndY, const Color &rColor)
Definition: output.cxx:1892
const std::vector< editeng::MisspellRanges > * mpMisspellRanges
Definition: output.hxx:143
void DrawRotated(bool bPixelToLogic)
Definition: output2.cxx:4437
void SetContentDevice(OutputDevice *pContentDev)
Definition: output.cxx:220
SCROW nY2
Definition: output.hxx:193
SCCOL nVisX1
Definition: output.hxx:194
tools::Rectangle maClipRect
Definition: output.hxx:104
constexpr::Color COL_AUTO(0xFF, 0xFF, 0xFF, 0xFF)
SvxCellVerJustify
const SfxItemSet * mpOldPreviewFontSet
Definition: output.hxx:141
SCROW nVisY2
Definition: output.hxx:197
tools::Long nWidth
Definition: output.hxx:67
void SetFmtDevice(OutputDevice *pRDev)
Definition: output.hxx:317
const ScPatternAttr * mpOldPattern
Definition: output.hxx:139
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:45
tools::Rectangle maAlignRect
Definition: output.hxx:103
void DrawEditStacked(DrawEditParam &rParam)
Definition: output2.cxx:3698
void DrawExtraShadow(bool bLeft, bool bTop, bool bRight, bool bBottom)
Definition: output.cxx:1154
bool mbShowNullValues
Definition: output.hxx:227
const SfxItemSet * mpCondSet
Definition: output.hxx:137
void ShowClipMarks(DrawEditParam &rParam, tools::Long nEngineHeight, const Size &aCellSize, bool bMerged, OutputAreaParam &aAreaParam)
Definition: output2.cxx:3152
SvxCellJustifyMethod meHorJustMethod
Definition: output.hxx:119
void SetEditSyntaxColor(EditEngine &rEngine, const ScRefCellValue &rCell)
Definition: output2.cxx:890
std::unique_ptr< drawinglayer::processor2d::BaseProcessor2D > CreateProcessor2D()
Definition: output.cxx:1682
void SetDrawView(FmFormView *pNew)
Definition: output.hxx:320
tools::Long nY
Definition: output.hxx:66
void DrawEditStandard(DrawEditParam &rParam)
Definition: output2.cxx:2809
bool mbLeftClip
length of the string getting cut off on the right.
Definition: output.hxx:108
bool bSolidBackground
Definition: output.hxx:215
double mnPPTY
Definition: output.hxx:200
void SetEditCell(SCCOL nCol, SCROW nRow)
Definition: output.cxx:266
constexpr double nPPTX
void SetCellRotations()
Definition: output.cxx:609
void DrawRotatedFrame(vcl::RenderContext &rRenderContext)
Definition: output.cxx:1481
bool bShowSpellErrors
Definition: output.hxx:229
ScDocument * mpDoc
Definition: output.hxx:183
SCCOL nX2
Definition: output.hxx:192
double mnPPTX
Definition: output.hxx:199
Fraction aZoomY
Definition: output.hxx:202
VclPtr< OutputDevice > pFmtDevice
Definition: output.hxx:179
bool bMarkClipped
Definition: output.hxx:230
RowInfo * pRowInfo
Definition: output.hxx:181
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:1450
sal_Int16 SCCOL
Definition: types.hxx:22
tools::Long mnRightClipLength
length of the string getting cut off on the left.
Definition: output.hxx:107
Describes reference mark to be drawn, position & size in TWIPs.
Definition: output.hxx:64
bool readCellContent(const ScDocument *pDoc, bool bShowNullValues, bool bShowFormulas, bool bSyntaxMode, bool bUseStyleColor, bool bForceAutoColor, bool &rWrapFields)
Definition: output2.cxx:2344
void DrawGrid(vcl::RenderContext &rRenderContext, bool bGrid, bool bPage)
Definition: output.cxx:290
tools::Long SetEngineTextAndGetWidth(DrawEditParam &rParam, const OUString &rSetString, tools::Long &rNeededPixel, tools::Long nAddWidthPixels)
Definition: output2.cxx:2794
bool SetChangedClip()
Definition: output.cxx:1747
ScTabViewShell * pViewShell
Definition: output.hxx:204
bool mbSyntaxMode
Definition: output.hxx:220
void DrawBackground(vcl::RenderContext &rRenderContext)
Definition: output.cxx:991
void DrawDocumentBackground()
Definition: output.cxx:806
void setPatternToEngine(bool bUseStyleColor)
Definition: output2.cxx:2392
double GetStretch() const
Definition: output2.cxx:810
void DrawStrings(bool bPixelToLogic=false)
Definition: output2.cxx:1445
SCROW nY1
Definition: output.hxx:191
SvxCellOrientation meOrient
Definition: output.hxx:121
VclPtr< OutputDevice > mpRefDevice
Definition: output.hxx:178
SCSIZE nArrCount
Definition: output.hxx:182
bool mbForceAutoColor
Definition: output.hxx:218
SCROW nVisY1
Definition: output.hxx:195
bool IsAvailable(SCCOL nX, SCROW nY)
Definition: output2.cxx:1137
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:135
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:2538
void DrawEditTopBottom(DrawEditParam &rParam)
Definition: output2.cxx:3461
const SfxItemSet * mpPreviewFontSet
Definition: output.hxx:138
tools::Long nScrX
Definition: output.hxx:185
void DrawClear()
Definition: output.cxx:1295
void SetGridColor(const Color &rColor)
Definition: output.cxx:236
ScOutputType
Definition: output.hxx:58
void DrawOneChange(SCCOL nRefStartX, SCROW nRefStartY, SCCOL nRefEndX, SCROW nRefEndY, const Color &rColor, sal_uInt16 nType)
Definition: output.cxx:2111
SCTAB nTab
Definition: output.hxx:184
SdrPaintWindow * mpTargetPaintWindow
Definition: output.hxx:239
Color aGridColor
Definition: output.hxx:225
tools::Long nScrH
Definition: output.hxx:188
void calcMargins(tools::Long &rTop, tools::Long &rLeft, tools::Long &rBottom, tools::Long &rRight, double nPPTX, double nPPTY) const
Definition: output2.cxx:2452
sal_Int32 SCROW
Definition: types.hxx:18
bool bAnyClipped
Definition: output.hxx:234
void SetShowSpellErrors(bool bSet)
Definition: output.cxx:256
const RowInfo * mpThisRowInfo
Definition: output.hxx:142
Color aColor
Definition: output.hxx:70
const ScPatternAttr * mpPattern
Definition: output.hxx:136
void calcPaperSize(Size &rPaperSize, const tools::Rectangle &rAlignRect, double nPPTX, double nPPTY) const
Definition: output2.cxx:2471
void PostPrintDrawingLayer(const Point &rMMOffset)
Definition: output3.cxx:100
std::optional< Color > mxValueColor
Definition: output.hxx:221
void GetVisibleCell(SCCOL nCol, SCROW nRow, SCTAB nTab, ScRefCellValue &rCell)
Definition: output2.cxx:1130
ReferenceMark(tools::Long aX, tools::Long aY, tools::Long aWidth, tools::Long aHeight, tools::Long aTab, const Color &rColor)
Definition: output.hxx:80
SCCOL nVisX2
Definition: output.hxx:196
void SetViewShell(ScTabViewShell *pSh)
Definition: output.hxx:318
ScRefCellValue maCell
Definition: output.hxx:135
void SetSpellCheckContext(const sc::SpellCheckContext *pCxt)
Definition: output.cxx:215
QPRO_FUNC_TYPE nType
Definition: qproform.cxx:400
bool bTabProtected
Definition: output.hxx:235
bool Is() const
Definition: output.hxx:93
ClearableClipRegionPtr Clip(DrawEditParam &rParam, const Size &aCellSize, OutputAreaParam &aAreaParam, tools::Long nEngineHeight, bool bWrapFields)
Definition: output2.cxx:3184
void DrawNoteMarks(vcl::RenderContext &rRenderContext)
Definition: output.cxx:2294
std::optional< Color > mxFormulaColor
Definition: output.hxx:223
tools::Long GetScrH() const
Definition: output.hxx:335
VclPtr< OutputDevice > mpDev
Definition: output.hxx:177
tools::Long GetScrW() const
Definition: output.hxx:334
void SetMirrorWidth(tools::Long nNew)
Definition: output.cxx:231
vcl::Region GetChangedAreaRegion()
Definition: output.cxx:1705
void SetMetaFileMode(bool bNewMode)
Definition: output.cxx:273
bool isHyperlinkCell() const
Definition: output2.cxx:2525
tools::Long nScrW
Definition: output.hxx:187
bool hasLineBreak() const
Definition: output2.cxx:2520
SvxCellJustifyMethod
void DrawEdit(bool bPixelToLogic)
Definition: output2.cxx:4245
SvxCellOrientation
void DrawShadow()
Definition: output.cxx:1149
void SetRefDevice(OutputDevice *pRDev)
Definition: output.hxx:316
void AddPDFNotes()
Definition: output.cxx:2365
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:1163
void adjustForHyperlinkInPDF(Point aURLStart, const OutputDevice *pDev)
Definition: output2.cxx:2691
void FindChanged()
Definition: output.cxx:1788
bool GetMergeOrigin(SCCOL nX, SCROW nY, SCSIZE nArrY, SCCOL &rOverX, SCROW &rOverY, bool bVisRowChanged)
Definition: output2.cxx:912
FmFormView * pDrawView
Definition: output.hxx:206
void DrawEditBottomTop(DrawEditParam &rParam)
Definition: output2.cxx:3218
ScTableInfo & mrTabInfo
Definition: output.hxx:180
bool bEditMode
Definition: output.hxx:208
sal_Int16 SCTAB
Definition: types.hxx:23
void SetPagebreakMode(ScPageBreakData *pPageData)
Definition: output.cxx:577
void PrintDrawingLayer(SdrLayerID nLayer, const Point &rMMOffset)
Definition: output3.cxx:131
tools::Long nMirrorW
Definition: output.hxx:189