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  */
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 <o3tl/deleter.hxx>
32 namespace sc {
33  struct SpellCheckContext;
34 }
36 namespace editeng {
37  struct MisspellRanges;
38 }
39 namespace drawinglayer::processor2d { class BaseProcessor2D; }
41 namespace vcl { class Font; }
42 class EditEngine;
43 class ScDocument;
44 class ScPatternAttr;
45 struct RowInfo;
46 struct ScTableInfo;
47 class ScTabViewShell;
48 class ScPageBreakData;
49 class FmFormView;
50 class ScFieldEditEngine;
51 class SdrPaintWindow;
53 #define SC_SCENARIO_HSPACE 60
54 #define SC_SCENARIO_VSPACE 50
59 typedef std::unique_ptr<ClearableClipRegion, o3tl::default_delete<ClearableClipRegion>> ClearableClipRegionPtr;
62 struct ReferenceMark {
63  long nX;
64  long nY;
65  long nWidth;
66  long nHeight;
67  long nTab;
71  : nX( 0 )
72  , nY( 0 )
73  , nWidth( 0 )
74  , nHeight( 0 )
75  , nTab( 0 )
76  , aColor( COL_AUTO ) {}
78  ReferenceMark( long aX,
79  long aY,
80  long aWidth,
81  long aHeight,
82  long aTab,
83  const Color& rColor )
84  : nX( aX )
85  , nY( aY )
86  , nWidth( aWidth )
87  , nHeight( aHeight )
88  , nTab( aTab )
89  , aColor( rColor ) {}
91  bool Is() const { return ( nWidth > 0 && nHeight > 0 ); }
92 };
95 {
96 friend class ScDrawStringsVars;
97 friend class ScGridWindow;
98 private:
100  {
108  };
111  {
112  public:
124  long mnPosX;
125  long mnPosY;
127  bool mbBreak:1;
141  const std::vector<editeng::MisspellRanges>* mpMisspellRanges;
143  explicit DrawEditParam(const ScPatternAttr* pPattern, const SfxItemSet* pCondSet, bool bCellIsValue);
145  bool readCellContent(const ScDocument* pDoc, bool bShowNullValues, bool bShowFormulas, bool bSyntaxMode, bool bUseStyleColor, bool bForceAutoColor, bool& rWrapFields);
146  void setPatternToEngine(bool bUseStyleColor);
147  void calcMargins(long& rTop, long& rLeft, long& rBottom, long& rRight, double nPPTX, double nPPTY) const;
148  void calcPaperSize(Size& rPaperSize, const tools::Rectangle& rAlignRect, double nPPTX, double nPPTY) const;
149  void getEngineSize(ScFieldEditEngine* pEngine, long& rWidth, long& rHeight) const;
150  bool hasLineBreak() const;
151  bool isHyperlinkCell() const;
158  bool isVerticallyOriented() const;
168  void calcStartPosForVertical(Point& rLogicStart, long nCellWidth, long nEngineWidth, long nTopM, const OutputDevice* pRefDevice);
170  void setAlignmentToEngine();
171  bool adjustHorAlignment(ScFieldEditEngine* pEngine);
172  void adjustForHyperlinkInPDF(Point aURLStart, const OutputDevice* pDev);
173  };
176  VclPtr<OutputDevice> mpRefDevice; // printer if used for preview
177  VclPtr<OutputDevice> pFmtDevice; // reference for text formatting
179  RowInfo* pRowInfo; // Info block
180  SCSIZE nArrCount; // occupied lines in info block
181  ScDocument* mpDoc; // Document
182  SCTAB nTab; // sheet
183  long nScrX; // Output Startpos. (Pixel)
184  long nScrY;
185  long nScrW; // Output size (Pixel)
186  long nScrH;
187  long nMirrorW; // Visible output width for mirroring (default: nScrW)
188  SCCOL nX1; // Start-/End coordinates
189  SCROW nY1; // ( incl. hidden )
192  SCCOL nVisX1; // Start-/End coordinates
193  SCROW nVisY1; // ( visible range )
196  ScOutputType eType; // Screen/Printer ...
197  double mnPPTX; // Pixel per Twips
198  double mnPPTY;
202  ScTabViewShell* pViewShell; // for connect from visible plug-ins
204  FmFormView* pDrawView; // SdrView to paint to
206  bool bEditMode; // InPlace edited cell - do not output
210  bool bMetaFile; // Output to metafile (not pixels!)
212  bool bPagebreakMode; // Page break preview
213  bool bSolidBackground; // white instead of transparent
218  bool mbSyntaxMode; // Syntax highlighting
219  std::unique_ptr<Color> pValueColor;
220  std::unique_ptr<Color> pTextColor;
221  std::unique_ptr<Color> pFormulaColor;
227  bool bShowSpellErrors; // Show spelling errors in EditObjects
232  bool bAnyClipped; // internal
236  // #i74769# use SdrPaintWindow direct, remember it during BeginDrawLayers/EndDrawLayers
240  // private methods
242  bool GetMergeOrigin( SCCOL nX, SCROW nY, SCSIZE nArrY,
243  SCCOL& rOverX, SCROW& rOverY, bool bVisRowChanged );
244  bool IsEmptyCellText( const RowInfo* pThisRowInfo, SCCOL nX, SCROW nY );
245  void GetVisibleCell( SCCOL nCol, SCROW nRow, SCTAB nTab, ScRefCellValue& rCell );
247  bool IsAvailable( SCCOL nX, SCROW nY );
249  void GetOutputArea( SCCOL nX, SCSIZE nArrY, long nPosX, long nPosY,
250  SCCOL nCellX, SCROW nCellY, long nNeeded,
251  const ScPatternAttr& rPattern,
252  sal_uInt16 nHorJustify, bool bCellIsValue,
253  bool bBreak, bool bOverwrite,
254  OutputAreaParam& rParam );
256  void ShrinkEditEngine( EditEngine& rEngine, const tools::Rectangle& rAlignRect,
257  long nLeftM, long nTopM, long nRightM, long nBottomM,
258  bool bWidth, SvxCellOrientation nOrient, long nAttrRotate, bool bPixelToLogic,
259  long& rEngineWidth, long& rEngineHeight, long& rNeededPixel,
260  bool& rLeftClip, bool& rRightClip );
262  void SetSyntaxColor( vcl::Font* pFont, const ScRefCellValue& rCell );
263  void SetEditSyntaxColor( EditEngine& rEngine, const ScRefCellValue& rCell );
265  double GetStretch() const;
267  void DrawRotatedFrame(vcl::RenderContext& rRenderContext); // pixel
269  std::unique_ptr<drawinglayer::processor2d::BaseProcessor2D> CreateProcessor2D( );
271  void DrawEditStandard(DrawEditParam& rParam);
272  void DrawEditBottomTop(DrawEditParam& rParam);
273  void DrawEditTopBottom(DrawEditParam& rParam);
274  void DrawEditStacked(DrawEditParam& rParam);
275  void DrawEditAsianVertical(DrawEditParam& rParam);
277  std::unique_ptr<ScFieldEditEngine> CreateOutputEditEngine();
279  void ShowClipMarks( DrawEditParam& rParam, long nEngineHeight, const Size& aCellSize,
280  bool bMerged, OutputAreaParam& aAreaParam );
282  ClearableClipRegionPtr Clip(DrawEditParam& rParam, const Size& aCellSize, OutputAreaParam& aAreaParam,
283  long nEngineHeight, bool bWrapFields);
285  bool AdjustAreaParamClipRect(OutputAreaParam& rAreaParam);
286  long SetEngineTextAndGetWidth( DrawEditParam& rParam, const OUString& rSetString,
287  long& rNeededPixel, long nAddWidthPixels );
289  // Check for and set cell rotations at OutputData to have it available
290  // in the svx tooling to render the borders. Moved to private section
291  // and the single call to end of constructor to be sure this always happens
292  void SetCellRotations();
294 public:
301  ScOutputData( OutputDevice* pNewDev, ScOutputType eNewType,
302  ScTableInfo& rTabInfo, ScDocument* pNewDoc,
303  SCTAB nNewTab, long nNewScrX, long nNewScrY,
304  SCCOL nNewX1, SCROW nNewY1, SCCOL nNewX2, SCROW nNewY2,
305  double nPixelPerTwipsX, double nPixelPerTwipsY,
306  const Fraction* pZoomX = nullptr,
307  const Fraction* pZoomY = nullptr );
309  ~ScOutputData();
311  void SetSpellCheckContext( const sc::SpellCheckContext* pCxt );
312  void SetContentDevice( OutputDevice* pContentDev );
314  void SetRefDevice( OutputDevice* pRDev ) { mpRefDevice = pFmtDevice = pRDev; }
315  void SetFmtDevice( OutputDevice* pRDev ) { pFmtDevice = pRDev; }
316  void SetViewShell( ScTabViewShell* pSh ) { pViewShell = pSh; }
318  void SetDrawView( FmFormView* pNew ) { pDrawView = pNew; }
320  void SetSolidBackground( bool bSet ) { bSolidBackground = bSet; }
321  void SetUseStyleColor( bool bSet ) { mbUseStyleColor = bSet; }
323  void SetEditCell( SCCOL nCol, SCROW nRow );
324  void SetSyntaxMode( bool bNewMode );
325  void SetMetaFileMode( bool bNewMode );
326  void SetGridColor( const Color& rColor );
327  void SetMarkClipped( bool bSet );
328  void SetShowNullValues ( bool bSet );
329  void SetShowFormulas ( bool bSet );
330  void SetShowSpellErrors( bool bSet );
331  void SetMirrorWidth( long nNew );
332  long GetScrW() const { return nScrW; }
333  long GetScrH() const { return nScrH; }
335  void SetSnapPixel();
337  void DrawGrid(vcl::RenderContext& rRenderContext, bool bGrid, bool bPage);
338  void DrawStrings( bool bPixelToLogic = false );
341  tools::Rectangle LayoutStrings(bool bPixelToLogic, bool bPaint = true, const ScAddress &rAddress = ScAddress());
343  void DrawDocumentBackground();
344  void DrawBackground(vcl::RenderContext& rRenderContext);
345  void DrawShadow();
346  void DrawExtraShadow(bool bLeft, bool bTop, bool bRight, bool bBottom);
347  void DrawFrame(vcl::RenderContext& rRenderContext);
349  // with logic MapMode set!
350  void DrawEdit(bool bPixelToLogic);
351  void DrawRotated(bool bPixelToLogic); // logical
353  void DrawClear();
355  // #i72502# printer only command set
356  Point PrePrintDrawingLayer(long nLogStX, long nLogStY );
357  void PostPrintDrawingLayer(const Point& rMMOffset); // #i74768# need offset for FormLayer
358  void PrintDrawingLayer(SdrLayerID nLayer, const Point& rMMOffset);
360  // only screen:
361  void DrawSelectiveObjects(SdrLayerID nLayer);
363  bool SetChangedClip(); // sal_False = not
366  void FindChanged();
367  void SetPagebreakMode( ScPageBreakData* pPageData );
369  void DrawRefMark( SCCOL nRefStartX, SCROW nRefStartY,
370  SCCOL nRefEndX, SCROW nRefEndY,
371  const Color& rColor, bool bHandle );
372  ReferenceMark FillReferenceMark( SCCOL nRefStartX, SCROW nRefStartY,
373  SCCOL nRefEndX, SCROW nRefEndY,
374  const Color& rColor );
375  void DrawOneChange( SCCOL nRefStartX, SCROW nRefStartY,
376  SCCOL nRefEndX, SCROW nRefEndY,
377  const Color& rColor, sal_uInt16 nType );
378  void DrawChangeTrack();
379  void DrawClipMarks();
381  void DrawNoteMarks(vcl::RenderContext& rRenderContext);
382  void AddPDFNotes();
383 };
385 #endif
387 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
long nScrW
Definition: output.hxx:185
void calcStartPosForVertical(Point &rLogicStart, long nCellWidth, long nEngineWidth, long nTopM, const OutputDevice *pRefDevice)
Calculate offset position for vertically oriented (either top-bottom or bottom-top orientation) text...
Definition: output2.cxx:2539
void SetSyntaxMode(bool bNewMode)
Definition: output.cxx:277
void SetMirrorWidth(long nNew)
Definition: output.cxx:230
SvxCellJustifyMethod meVerJustMethod
Definition: output.hxx:118
constexpr double nPPTY
Point PrePrintDrawingLayer(long nLogStX, long nLogStY)
Definition: output3.cxx:34
void GetOutputArea(SCCOL nX, SCSIZE nArrY, long nPosX, long nPosY, SCCOL nCellX, SCROW nCellY, long nNeeded, const ScPatternAttr &rPattern, sal_uInt16 nHorJustify, bool bCellIsValue, bool bBreak, bool bOverwrite, OutputAreaParam &rParam)
Definition: output2.cxx:1164
bool adjustHorAlignment(ScFieldEditEngine *pEngine)
Definition: output2.cxx:2677
SCROW nEditRow
Definition: output.hxx:208
bool IsEmptyCellText(const RowInfo *pThisRowInfo, SCCOL nX, SCROW nY)
Definition: output2.cxx:1090
void DrawFrame(vcl::RenderContext &rRenderContext)
Definition: output.cxx:1354
long GetScrW() const
Definition: output.hxx:332
void SetShowNullValues(bool bSet)
Definition: output.cxx:245
bool AdjustAreaParamClipRect(OutputAreaParam &rAreaParam)
Definition: output2.cxx:2720
std::unique_ptr< ScFieldEditEngine > CreateOutputEditEngine()
Definition: output2.cxx:2118
long nScrY
Definition: output.hxx:184
void SetUseStyleColor(bool bSet)
Definition: output.hxx:321
SvxCellVerJustify meVerJust
Definition: output.hxx:116
void DrawClipMarks()
Definition: output.cxx:2437
bool bLayoutRTL
Definition: output.hxx:234
bool mbUseStyleColor
Definition: output.hxx:215
SvxCellHorJustify meHorJustAttr
alignment attribute
Definition: output.hxx:113
bool bSnapPixel
Definition: output.hxx:230
Definition: output.hxx:188
ClearableClipRegionPtr Clip(DrawEditParam &rParam, const Size &aCellSize, OutputAreaParam &aAreaParam, long nEngineHeight, bool bWrapFields)
Definition: output2.cxx:3185
std::unique_ptr< ClearableClipRegion, o3tl::default_delete< ClearableClipRegion > > ClearableClipRegionPtr
Definition: output.hxx:58
SCCOL nEditCol
Definition: output.hxx:207
void SetSyntaxColor(vcl::Font *pFont, const ScRefCellValue &rCell)
Definition: output2.cxx:862
const sc::SpellCheckContext * mpSpellCheckCxt
Definition: output.hxx:238
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:1974
void SetSnapPixel()
Definition: output.cxx:260
bool mbShowFormulas
Definition: output.hxx:226
const SfxItemSet * mpOldCondSet
Definition: output.hxx:138
void DrawSelectiveObjects(SdrLayerID nLayer)
Definition: output3.cxx:166
void DrawChangeTrack()
Definition: output.cxx:2219
DrawEditParam(const ScPatternAttr *pPattern, const SfxItemSet *pCondSet, bool bCellIsValue)
Definition: output2.cxx:2318
ScOutputType eType
Definition: output.hxx:196
ScFieldEditEngine * mpEngine
Definition: output.hxx:132
void SetSolidBackground(bool bSet)
Definition: output.hxx:320
void SetShowFormulas(bool bSet)
Definition: output.cxx:250
bool bPagebreakMode
Definition: output.hxx:212
Fraction aZoomX
Definition: output.hxx:199
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:2534
void SetMarkClipped(bool bSet)
Definition: output.cxx:240
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:3982
SvxCellHorJustify meHorJustContext
context depending on attribute, content and direction
Definition: output.hxx:114
SvxCellHorJustify meHorJustResult
result for EditEngine
Definition: output.hxx:115
bool bMetaFile
Definition: output.hxx:210
ReferenceMark FillReferenceMark(SCCOL nRefStartX, SCROW nRefStartY, SCCOL nRefEndX, SCROW nRefEndY, const Color &rColor)
Definition: output.cxx:1882
const std::vector< editeng::MisspellRanges > * mpMisspellRanges
Definition: output.hxx:141
void DrawRotated(bool bPixelToLogic)
Definition: output2.cxx:4438
void SetContentDevice(OutputDevice *pContentDev)
Definition: output.cxx:219
Definition: output.hxx:191
Definition: output.hxx:192
tools::Rectangle maClipRect
Definition: output.hxx:102
constexpr::Color COL_AUTO(0xFF, 0xFF, 0xFF, 0xFF)
std::unique_ptr< Color > pTextColor
Definition: output.hxx:220
long nWidth
Definition: output.hxx:65
const SfxItemSet * mpOldPreviewFontSet
Definition: output.hxx:139
Definition: output.hxx:195
void ShrinkEditEngine(EditEngine &rEngine, const tools::Rectangle &rAlignRect, long nLeftM, long nTopM, long nRightM, long nBottomM, bool bWidth, SvxCellOrientation nOrient, long nAttrRotate, bool bPixelToLogic, long &rEngineWidth, long &rEngineHeight, long &rNeededPixel, bool &rLeftClip, bool &rRightClip)
Definition: output2.cxx:2239
long nMirrorW
Definition: output.hxx:187
void SetFmtDevice(OutputDevice *pRDev)
Definition: output.hxx:315
const ScPatternAttr * mpOldPattern
Definition: output.hxx:137
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
ReferenceMark(long aX, long aY, long aWidth, long aHeight, long aTab, const Color &rColor)
Definition: output.hxx:78
tools::Rectangle maAlignRect
Definition: output.hxx:101
void DrawEditStacked(DrawEditParam &rParam)
Definition: output2.cxx:3699
void DrawExtraShadow(bool bLeft, bool bTop, bool bRight, bool bBottom)
Definition: output.cxx:1153
bool mbShowNullValues
Definition: output.hxx:225
const SfxItemSet * mpCondSet
Definition: output.hxx:135
SvxCellJustifyMethod meHorJustMethod
Definition: output.hxx:117
void SetEditSyntaxColor(EditEngine &rEngine, const ScRefCellValue &rCell)
Definition: output2.cxx:891
std::unique_ptr< drawinglayer::processor2d::BaseProcessor2D > CreateProcessor2D()
Definition: output.cxx:1681
void SetDrawView(FmFormView *pNew)
Definition: output.hxx:318
long GetScrH() const
Definition: output.hxx:333
void DrawEditStandard(DrawEditParam &rParam)
Definition: output2.cxx:2810
bool mbLeftClip
length of the string getting cut off on the right.
Definition: output.hxx:106
std::unique_ptr< Color > pFormulaColor
Definition: output.hxx:221
bool bSolidBackground
Definition: output.hxx:213
double mnPPTY
Definition: output.hxx:198
void SetEditCell(SCCOL nCol, SCROW nRow)
Definition: output.cxx:265
constexpr double nPPTX
void SetCellRotations()
Definition: output.cxx:608
void DrawRotatedFrame(vcl::RenderContext &rRenderContext)
Definition: output.cxx:1480
bool bShowSpellErrors
Definition: output.hxx:227
ScDocument * mpDoc
Definition: output.hxx:181
Definition: output.hxx:190
double mnPPTX
Definition: output.hxx:197
Fraction aZoomY
Definition: output.hxx:200
VclPtr< OutputDevice > pFmtDevice
Definition: output.hxx:177
bool bMarkClipped
Definition: output.hxx:228
RowInfo * pRowInfo
Definition: output.hxx:179
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:1451
sal_Int16 SCCOL
Definition: types.hxx:22
Describes reference mark to be drawn, position & size in TWIPs.
Definition: output.hxx:62
bool readCellContent(const ScDocument *pDoc, bool bShowNullValues, bool bShowFormulas, bool bSyntaxMode, bool bUseStyleColor, bool bForceAutoColor, bool &rWrapFields)
Definition: output2.cxx:2345
void DrawGrid(vcl::RenderContext &rRenderContext, bool bGrid, bool bPage)
Definition: output.cxx:289
bool SetChangedClip()
Definition: output.cxx:1746
ScTabViewShell * pViewShell
Definition: output.hxx:202
bool mbSyntaxMode
Definition: output.hxx:218
void DrawBackground(vcl::RenderContext &rRenderContext)
Definition: output.cxx:990
void DrawDocumentBackground()
Definition: output.cxx:805
void setPatternToEngine(bool bUseStyleColor)
Definition: output2.cxx:2393
double GetStretch() const
Definition: output2.cxx:811
void DrawStrings(bool bPixelToLogic=false)
Definition: output2.cxx:1446
Definition: output.hxx:189
SvxCellOrientation meOrient
Definition: output.hxx:119
VclPtr< OutputDevice > mpRefDevice
Definition: output.hxx:176
SCSIZE nArrCount
Definition: output.hxx:180
bool mbForceAutoColor
Definition: output.hxx:216
Definition: output.hxx:193
bool IsAvailable(SCCOL nX, SCROW nY)
Definition: output2.cxx:1138
void DrawEditTopBottom(DrawEditParam &rParam)
Definition: output2.cxx:3462
const SfxItemSet * mpPreviewFontSet
Definition: output.hxx:136
void getEngineSize(ScFieldEditEngine *pEngine, long &rWidth, long &rHeight) const
Definition: output2.cxx:2499
void DrawClear()
Definition: output.cxx:1294
void SetGridColor(const Color &rColor)
Definition: output.cxx:235
Definition: output.hxx:56
void DrawOneChange(SCCOL nRefStartX, SCROW nRefStartY, SCCOL nRefEndX, SCROW nRefEndY, const Color &rColor, sal_uInt16 nType)
Definition: output.cxx:2101
Definition: output.hxx:182
SdrPaintWindow * mpTargetPaintWindow
Definition: output.hxx:237
Color aGridColor
Definition: output.hxx:223
long nScrX
Definition: output.hxx:183
sal_Int32 SCROW
Definition: types.hxx:18
bool bAnyClipped
Definition: output.hxx:232
void SetShowSpellErrors(bool bSet)
Definition: output.cxx:255
const RowInfo * mpThisRowInfo
Definition: output.hxx:140
Color aColor
Definition: output.hxx:68
const ScPatternAttr * mpPattern
Definition: output.hxx:134
void calcPaperSize(Size &rPaperSize, const tools::Rectangle &rAlignRect, double nPPTX, double nPPTY) const
Definition: output2.cxx:2472
void PostPrintDrawingLayer(const Point &rMMOffset)
Definition: output3.cxx:100
void ShowClipMarks(DrawEditParam &rParam, long nEngineHeight, const Size &aCellSize, bool bMerged, OutputAreaParam &aAreaParam)
Definition: output2.cxx:3153
void GetVisibleCell(SCCOL nCol, SCROW nRow, SCTAB nTab, ScRefCellValue &rCell)
Definition: output2.cxx:1131
Definition: output.hxx:194
void SetViewShell(ScTabViewShell *pSh)
Definition: output.hxx:316
ScRefCellValue maCell
Definition: output.hxx:133
void SetSpellCheckContext(const sc::SpellCheckContext *pCxt)
Definition: output.cxx:214
Definition: qproform.cxx:401
bool bTabProtected
Definition: output.hxx:233
bool Is() const
Definition: output.hxx:91
void DrawNoteMarks(vcl::RenderContext &rRenderContext)
Definition: output.cxx:2284
long nHeight
Definition: output.hxx:66
VclPtr< OutputDevice > mpDev
Definition: output.hxx:175
vcl::Region GetChangedAreaRegion()
Definition: output.cxx:1704
std::unique_ptr< Color > pValueColor
Definition: output.hxx:219
void SetMetaFileMode(bool bNewMode)
Definition: output.cxx:272
bool isHyperlinkCell() const
Definition: output2.cxx:2526
bool hasLineBreak() const
Definition: output2.cxx:2521
ScOutputData(OutputDevice *pNewDev, ScOutputType eNewType, ScTableInfo &rTabInfo, ScDocument *pNewDoc, SCTAB nNewTab, long nNewScrX, 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:134
void DrawEdit(bool bPixelToLogic)
Definition: output2.cxx:4246
void DrawShadow()
Definition: output.cxx:1148
void SetRefDevice(OutputDevice *pRDev)
Definition: output.hxx:314
void AddPDFNotes()
Definition: output.cxx:2355
void adjustForHyperlinkInPDF(Point aURLStart, const OutputDevice *pDev)
Definition: output2.cxx:2692
void FindChanged()
Definition: output.cxx:1787
bool GetMergeOrigin(SCCOL nX, SCROW nY, SCSIZE nArrY, SCCOL &rOverX, SCROW &rOverY, bool bVisRowChanged)
Definition: output2.cxx:913
FmFormView * pDrawView
Definition: output.hxx:204
void DrawEditBottomTop(DrawEditParam &rParam)
Definition: output2.cxx:3219
ScTableInfo & mrTabInfo
Definition: output.hxx:178
long SetEngineTextAndGetWidth(DrawEditParam &rParam, const OUString &rSetString, long &rNeededPixel, long nAddWidthPixels)
Definition: output2.cxx:2795
bool bEditMode
Definition: output.hxx:206
void calcMargins(long &rTop, long &rLeft, long &rBottom, long &rRight, double nPPTX, double nPPTY) const
Definition: output2.cxx:2453
sal_Int16 SCTAB
Definition: types.hxx:23
long nScrH
Definition: output.hxx:186
void SetPagebreakMode(ScPageBreakData *pPageData)
Definition: output.cxx:576
void PrintDrawingLayer(SdrLayerID nLayer, const Point &rMMOffset)
Definition: output3.cxx:131
long mnRightClipLength
length of the string getting cut off on the left.
Definition: output.hxx:105