LibreOffice Module sc (master)  1
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
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 .
18  */
20 #pragma once
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>
33 namespace sc {
34  class SpellCheckContext;
35 }
37 namespace editeng {
38  struct MisspellRanges;
39 }
40 namespace drawinglayer::processor2d { class BaseProcessor2D; }
42 namespace vcl { class Font; }
43 class EditEngine;
44 class ScDocument;
45 class ScPatternAttr;
46 struct RowInfo;
47 struct ScTableInfo;
48 class ScTabViewShell;
49 class ScPageBreakData;
50 class FmFormView;
51 class ScFieldEditEngine;
52 class SdrPaintWindow;
54 #define SC_SCENARIO_HSPACE 60
55 #define SC_SCENARIO_VSPACE 50
60 typedef std::unique_ptr<ClearableClipRegion, o3tl::default_delete<ClearableClipRegion>> ClearableClipRegionPtr;
63 struct ReferenceMark {
72  : nX( 0 )
73  , nY( 0 )
74  , nWidth( 0 )
75  , nHeight( 0 )
76  , nTab( 0 )
77  , aColor( COL_AUTO ) {}
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 ) {}
92  bool Is() const { return ( nWidth > 0 && nHeight > 0 ); }
93 };
96 {
97 friend class ScDrawStringsVars;
98 friend class ScGridWindow;
99 private:
101  {
109  };
112  {
113  public:
128  bool mbBreak:1;
142  const std::vector<editeng::MisspellRanges>* mpMisspellRanges;
144  explicit DrawEditParam(const ScPatternAttr* pPattern, const SfxItemSet* pCondSet, bool bCellIsValue);
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;
159  bool isVerticallyOriented() const;
169  void calcStartPosForVertical(Point& rLogicStart, tools::Long nCellWidth, tools::Long nEngineWidth, tools::Long nTopM, const OutputDevice* pRefDevice);
171  void setAlignmentToEngine();
172  bool adjustHorAlignment(ScFieldEditEngine* pEngine);
173  void adjustForHyperlinkInPDF(Point aURLStart, const OutputDevice* pDev);
174  };
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;
203  ScTabViewShell* pViewShell; // for connect from visible plug-ins
205  FmFormView* pDrawView; // SdrView to paint to
207  bool bEditMode; // InPlace edited cell - do not output
211  bool bMetaFile; // Output to metafile (not pixels!)
213  bool bPagebreakMode; // Page break preview
214  bool bSolidBackground; // white instead of transparent
219  bool mbSyntaxMode; // Syntax highlighting
220  std::optional<Color> mxValueColor;
221  std::optional<Color> mxTextColor;
222  std::optional<Color> mxFormulaColor;
228  bool bShowSpellErrors; // Show spelling errors in EditObjects
233  bool bAnyClipped; // internal
234  bool bVertical;
238  // #i74769# use SdrPaintWindow direct, remember it during BeginDrawLayers/EndDrawLayers
242  // private methods
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 );
249  bool IsAvailable( SCCOL nX, SCROW nY );
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 );
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 );
264  void SetSyntaxColor( vcl::Font* pFont, const ScRefCellValue& rCell );
265  void SetEditSyntaxColor( EditEngine& rEngine, const ScRefCellValue& rCell );
267  double GetStretch() const;
269  void DrawRotatedFrame(vcl::RenderContext& rRenderContext); // pixel
271  std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> CreateProcessor2D( );
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);
279  std::unique_ptr<ScFieldEditEngine> CreateOutputEditEngine();
281  void ShowClipMarks( DrawEditParam& rParam, tools::Long nEngineWidth, const Size& aCellSize,
282  bool bMerged, OutputAreaParam& aAreaParam, bool bTop );
284  ClearableClipRegionPtr Clip(DrawEditParam& rParam, const Size& aCellSize, OutputAreaParam& aAreaParam,
285  tools::Long nEngineWidth, bool bWrapFields, bool bTop);
287  bool AdjustAreaParamClipRect(OutputAreaParam& rAreaParam);
288  tools::Long SetEngineTextAndGetWidth( DrawEditParam& rParam, const OUString& rSetString,
289  tools::Long& rNeededPixel, tools::Long nAddWidthPixels );
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();
296 public:
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 );
311  ~ScOutputData();
313  void SetSpellCheckContext( const sc::SpellCheckContext* pCxt );
314  void SetContentDevice( OutputDevice* pContentDev );
316  void SetRefDevice( OutputDevice* pRDev ) { mpRefDevice = pFmtDevice = pRDev; }
317  void SetFmtDevice( OutputDevice* pRDev ) { pFmtDevice = pRDev; }
318  void SetViewShell( ScTabViewShell* pSh ) { pViewShell = pSh; }
320  void SetDrawView( FmFormView* pNew ) { pDrawView = pNew; }
322  void SetSolidBackground( bool bSet ) { bSolidBackground = bSet; }
323  void SetUseStyleColor( bool bSet ) { mbUseStyleColor = bSet; }
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; }
337  void SetSnapPixel();
339  void DrawGrid(vcl::RenderContext& rRenderContext, bool bGrid, bool bPage, bool bMergeCover = false);
340  void DrawStrings( bool bPixelToLogic = false );
343  tools::Rectangle LayoutStrings(bool bPixelToLogic, bool bPaint = true, const ScAddress &rAddress = ScAddress());
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);
351  // with logic MapMode set!
352  void DrawEdit(bool bPixelToLogic);
353  void DrawRotated(bool bPixelToLogic); // logical
355  void DrawClear();
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);
362  // only screen:
363  void DrawSelectiveObjects(SdrLayerID nLayer);
365  bool SetChangedClip(); // sal_False = not
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();
383  void DrawNoteMarks(vcl::RenderContext& rRenderContext);
384  void AddPDFNotes();
385  void DrawSparklines(vcl::RenderContext& rRenderContext);
386 };
388 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
tools::Long nScrY
Definition: output.hxx:185
void SetSyntaxMode(bool bNewMode)
Definition: output.cxx:284
SvxCellJustifyMethod meVerJustMethod
Definition: output.hxx:119
constexpr double nPPTY
bool adjustHorAlignment(ScFieldEditEngine *pEngine)
Definition: output2.cxx:2708
std::optional< Color > mxTextColor
Definition: output.hxx:221
SCROW nEditRow
Definition: output.hxx:209
bool IsEmptyCellText(const RowInfo *pThisRowInfo, SCCOL nX, SCROW nY)
Definition: output2.cxx:1111
void DrawFrame(vcl::RenderContext &rRenderContext)
Definition: output.cxx:1387
void SetShowNullValues(bool bSet)
Definition: output.cxx:252
bool AdjustAreaParamClipRect(OutputAreaParam &rAreaParam)
Definition: output2.cxx:2751
void getEngineSize(ScFieldEditEngine *pEngine, tools::Long &rWidth, tools::Long &rHeight) const
Definition: output2.cxx:2530
std::unique_ptr< ScFieldEditEngine > CreateOutputEditEngine()
Definition: output2.cxx:2152
void SetUseStyleColor(bool bSet)
Definition: output.hxx:323
SvxCellVerJustify meVerJust
Definition: output.hxx:117
Class shared between grid windows to cache spelling results.
void DrawClipMarks()
Definition: output.cxx:2545
Point PrePrintDrawingLayer(tools::Long nLogStX, tools::Long nLogStY)
Definition: output3.cxx:38
bool bLayoutRTL
Definition: output.hxx:236
tools::Long nX
Definition: output.hxx:64
bool mbUseStyleColor
Definition: output.hxx:216
SvxCellHorJustify meHorJustAttr
alignment attribute
Definition: output.hxx:114
bool bSnapPixel
Definition: output.hxx:231
Definition: output.hxx:189
std::unique_ptr< ClearableClipRegion, o3tl::default_delete< ClearableClipRegion > > ClearableClipRegionPtr
Definition: output.hxx:59
SCCOL nEditCol
Definition: output.hxx:208
long Long
void SetSyntaxColor(vcl::Font *pFont, const ScRefCellValue &rCell)
Definition: output2.cxx:883
const sc::SpellCheckContext * mpSpellCheckCxt
Definition: output.hxx:240
constexpr::Color COL_AUTO(ColorTransparency, 0xFF, 0xFF, 0xFF, 0xFF)
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:2013
void SetSnapPixel()
Definition: output.cxx:267
bool mbShowFormulas
Definition: output.hxx:227
const SfxItemSet * mpOldCondSet
Definition: output.hxx:139
void DrawSelectiveObjects(SdrLayerID nLayer)
Definition: output3.cxx:170
void DrawChangeTrack()
Definition: output.cxx:2258
tools::Long nTab
Definition: output.hxx:68
DrawEditParam(const ScPatternAttr *pPattern, const SfxItemSet *pCondSet, bool bCellIsValue)
Definition: output2.cxx:2351
bool bVertical
Definition: output.hxx:234
ScOutputType eType
Definition: output.hxx:197
ScFieldEditEngine * mpEngine
Definition: output.hxx:133
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:2272
void SetSolidBackground(bool bSet)
Definition: output.hxx:322
void SetShowFormulas(bool bSet)
Definition: output.cxx:257
bool bPagebreakMode
Definition: output.hxx:213
Fraction aZoomX
Definition: output.hxx:200
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:2565
void SetMarkClipped(bool bSet)
Definition: output.cxx:247
This is very similar to ScCellValue, except that it references the original value instead of copying ...
Definition: cellvalue.hxx:103
void DrawEditAsianVertical(DrawEditParam &rParam)
Definition: output2.cxx:4030
SvxCellHorJustify meHorJustContext
context depending on attribute, content and direction
Definition: output.hxx:115
SvxCellHorJustify meHorJustResult
result for EditEngine
Definition: output.hxx:116
tools::Long nHeight
Definition: output.hxx:67
bool bMetaFile
Definition: output.hxx:211
ReferenceMark FillReferenceMark(SCCOL nRefStartX, SCROW nRefStartY, SCCOL nRefEndX, SCROW nRefEndY, const Color &rColor)
Definition: output.cxx:1921
const std::vector< editeng::MisspellRanges > * mpMisspellRanges
Definition: output.hxx:142
void DrawRotated(bool bPixelToLogic)
Definition: output2.cxx:4485
void SetContentDevice(OutputDevice *pContentDev)
Definition: output.cxx:226
Definition: output.hxx:192
Definition: output.hxx:193
tools::Rectangle maClipRect
Definition: output.hxx:103
const SfxItemSet * mpOldPreviewFontSet
Definition: output.hxx:140
Definition: output.hxx:196
tools::Long nWidth
Definition: output.hxx:66
void SetFmtDevice(OutputDevice *pRDev)
Definition: output.hxx:317
const ScPatternAttr * mpOldPattern
Definition: output.hxx:138
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
tools::Rectangle maAlignRect
Definition: output.hxx:102
void DrawEditStacked(DrawEditParam &rParam)
Definition: output2.cxx:3747
void DrawExtraShadow(bool bLeft, bool bTop, bool bRight, bool bBottom)
Definition: output.cxx:1191
bool mbShowNullValues
Definition: output.hxx:226
const SfxItemSet * mpCondSet
Definition: output.hxx:136
SvxCellJustifyMethod meHorJustMethod
Definition: output.hxx:118
void SetEditSyntaxColor(EditEngine &rEngine, const ScRefCellValue &rCell)
Definition: output2.cxx:912
std::unique_ptr< drawinglayer::processor2d::BaseProcessor2D > CreateProcessor2D()
Definition: output.cxx:1712
void SetDrawView(FmFormView *pNew)
Definition: output.hxx:320
tools::Long nY
Definition: output.hxx:65
void DrawEditStandard(DrawEditParam &rParam)
Definition: output2.cxx:2841
bool mbLeftClip
length of the string getting cut off on the right.
Definition: output.hxx:107
bool bSolidBackground
Definition: output.hxx:214
double mnPPTY
Definition: output.hxx:199
void SetEditCell(SCCOL nCol, SCROW nRow)
Definition: output.cxx:272
constexpr double nPPTX
void SetCellRotations()
Definition: output.cxx:619
void DrawRotatedFrame(vcl::RenderContext &rRenderContext)
Definition: output.cxx:1513
bool bShowSpellErrors
Definition: output.hxx:228
ScDocument * mpDoc
Definition: output.hxx:182
void ShowClipMarks(DrawEditParam &rParam, tools::Long nEngineWidth, const Size &aCellSize, bool bMerged, OutputAreaParam &aAreaParam, bool bTop)
Definition: output2.cxx:3193
Definition: output.hxx:191
double mnPPTX
Definition: output.hxx:198
Fraction aZoomY
Definition: output.hxx:201
VclPtr< OutputDevice > pFmtDevice
Definition: output.hxx:178
bool bMarkClipped
Definition: output.hxx:229
RowInfo * pRowInfo
Definition: output.hxx:180
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:1474
sal_Int16 SCCOL
Definition: types.hxx:21
tools::Long mnRightClipLength
length of the string getting cut off on the left.
Definition: output.hxx:106
Describes reference mark to be drawn, position & size in TWIPs.
Definition: output.hxx:63
bool readCellContent(const ScDocument *pDoc, bool bShowNullValues, bool bShowFormulas, bool bSyntaxMode, bool bUseStyleColor, bool bForceAutoColor, bool &rWrapFields)
Definition: output2.cxx:2378
CAUTION! The following defines must be in the same namespace as the respective type.
tools::Long SetEngineTextAndGetWidth(DrawEditParam &rParam, const OUString &rSetString, tools::Long &rNeededPixel, tools::Long nAddWidthPixels)
Definition: output2.cxx:2826
bool SetChangedClip()
Definition: output.cxx:1776
ScTabViewShell * pViewShell
Definition: output.hxx:203
bool mbSyntaxMode
Definition: output.hxx:219
void DrawBackground(vcl::RenderContext &rRenderContext)
Definition: output.cxx:1022
void DrawDocumentBackground()
Definition: output.cxx:816
void setPatternToEngine(bool bUseStyleColor)
Definition: output2.cxx:2425
double GetStretch() const
Definition: output2.cxx:832
void DrawStrings(bool bPixelToLogic=false)
Definition: output2.cxx:1469
Definition: output.hxx:190
SvxCellOrientation meOrient
Definition: output.hxx:120
VclPtr< OutputDevice > mpRefDevice
Definition: output.hxx:177
SCSIZE nArrCount
Definition: output.hxx:181
bool mbForceAutoColor
Definition: output.hxx:217
Definition: output.hxx:194
bool IsAvailable(SCCOL nX, SCROW nY)
Definition: output2.cxx:1159
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
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:2570
void DrawEditTopBottom(DrawEditParam &rParam)
Definition: output2.cxx:3510
ClearableClipRegionPtr Clip(DrawEditParam &rParam, const Size &aCellSize, OutputAreaParam &aAreaParam, tools::Long nEngineWidth, bool bWrapFields, bool bTop)
Definition: output2.cxx:3233
const SfxItemSet * mpPreviewFontSet
Definition: output.hxx:137
tools::Long nScrX
Definition: output.hxx:184
void DrawClear()
Definition: output.cxx:1332
void SetGridColor(const Color &rColor)
Definition: output.cxx:242
Definition: output.hxx:57
void DrawOneChange(SCCOL nRefStartX, SCROW nRefStartY, SCCOL nRefEndX, SCROW nRefEndY, const Color &rColor, sal_uInt16 nType)
Definition: output.cxx:2140
Definition: output.hxx:183
SdrPaintWindow * mpTargetPaintWindow
Definition: output.hxx:239
Color aGridColor
Definition: output.hxx:224
tools::Long nScrH
Definition: output.hxx:187
void DrawGrid(vcl::RenderContext &rRenderContext, bool bGrid, bool bPage, bool bMergeCover=false)
Definition: output.cxx:296
void calcMargins(tools::Long &rTop, tools::Long &rLeft, tools::Long &rBottom, tools::Long &rRight, double nPPTX, double nPPTY) const
Definition: output2.cxx:2484
sal_Int32 SCROW
Definition: types.hxx:17
bool bAnyClipped
Definition: output.hxx:233
void SetShowSpellErrors(bool bSet)
Definition: output.cxx:262
Color aColor
Definition: output.hxx:69
const ScPatternAttr * mpPattern
Definition: output.hxx:135
void calcPaperSize(Size &rPaperSize, const tools::Rectangle &rAlignRect, double nPPTX, double nPPTY) const
Definition: output2.cxx:2503
void PostPrintDrawingLayer(const Point &rMMOffset)
Definition: output3.cxx:104
std::optional< Color > mxValueColor
Definition: output.hxx:220
void GetVisibleCell(SCCOL nCol, SCROW nRow, SCTAB nTab, ScRefCellValue &rCell)
Definition: output2.cxx:1152
ReferenceMark(tools::Long aX, tools::Long aY, tools::Long aWidth, tools::Long aHeight, tools::Long aTab, const Color &rColor)
Definition: output.hxx:79
Definition: output.hxx:195
void DrawSparklines(vcl::RenderContext &rRenderContext)
Definition: output.cxx:2322
void SetViewShell(ScTabViewShell *pSh)
Definition: output.hxx:318
ScRefCellValue maCell
Definition: output.hxx:134
void SetSpellCheckContext(const sc::SpellCheckContext *pCxt)
Definition: output.cxx:221
Definition: qproform.cxx:398
bool bTabProtected
Definition: output.hxx:235
bool Is() const
Definition: output.hxx:92
void DrawNoteMarks(vcl::RenderContext &rRenderContext)
Definition: output.cxx:2393
std::optional< Color > mxFormulaColor
Definition: output.hxx:222
tools::Long GetScrH() const
Definition: output.hxx:335
VclPtr< OutputDevice > mpDev
Definition: output.hxx:176
tools::Long GetScrW() const
Definition: output.hxx:334
void SetMirrorWidth(tools::Long nNew)
Definition: output.cxx:237
vcl::Region GetChangedAreaRegion()
Definition: output.cxx:1734
void SetMetaFileMode(bool bNewMode)
Definition: output.cxx:279
bool isHyperlinkCell() const
Definition: output2.cxx:2557
tools::Long nScrW
Definition: output.hxx:186
bool hasLineBreak() const
Definition: output2.cxx:2552
void DrawEdit(bool bPixelToLogic)
Definition: output2.cxx:4294
void DrawShadow()
Definition: output.cxx:1186
void SetRefDevice(OutputDevice *pRDev)
Definition: output.hxx:316
void AddPDFNotes()
Definition: output.cxx:2463
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:1185
void adjustForHyperlinkInPDF(Point aURLStart, const OutputDevice *pDev)
Definition: output2.cxx:2723
void FindChanged()
Definition: output.cxx:1817
bool GetMergeOrigin(SCCOL nX, SCROW nY, SCSIZE nArrY, SCCOL &rOverX, SCROW &rOverY, bool bVisRowChanged)
Definition: output2.cxx:934
FmFormView * pDrawView
Definition: output.hxx:205
void DrawEditBottomTop(DrawEditParam &rParam)
Definition: output2.cxx:3267
ScTableInfo & mrTabInfo
Definition: output.hxx:179
bool bEditMode
Definition: output.hxx:207
sal_Int16 SCTAB
Definition: types.hxx:22
void SetPagebreakMode(ScPageBreakData *pPageData)
Definition: output.cxx:587
void PrintDrawingLayer(SdrLayerID nLayer, const Point &rMMOffset)
Definition: output3.cxx:135
tools::Long nMirrorW
Definition: output.hxx:188