LibreOffice Module sc (master)  1
printfun.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 <memory>
23 #include <map>
24 #include <pagepar.hxx>
25 #include <editutil.hxx>
26 
27 class SfxPrinter;
28 class ScDocShell;
29 class ScDocument;
30 class ScViewData;
31 class SfxItemSet;
32 class ScPageHFItem;
33 class EditTextObject;
34 class MultiSelection;
35 class ScPageBreakData;
37 class ScPrintOptions;
38 class SvxBoxItem;
39 class SvxBrushItem;
40 class SvxShadowItem;
41 class FmFormView;
42 
43 #define RANGENO_NORANGE USHRT_MAX
44 
45 #define PRINT_HEADER_WIDTH (1.0 * TWIPS_PER_CM)
46 #define PRINT_HEADER_HEIGHT (12.8 * TWIPS_PER_POINT)
47 
48  // Settings for headers/footers
50 {
51  bool bEnable;
52  bool bDynamic;
53  bool bShared;
55  tools::Long nHeight; // in total (height + distance + frames)
56  tools::Long nManHeight; // set size (min when dynamic)
57  sal_uInt16 nDistance;
58  sal_uInt16 nLeft; // edges
59  sal_uInt16 nRight;
66 };
67 
69 {
70 private:
73  size_t nPagesX;
74  std::vector<bool> aHidden;
76 
77 public:
78  ScPageRowEntry() { nStartRow = nEndRow = 0; nPagesX = 0; }
79 
82 
83  SCROW GetStartRow() const { return nStartRow; }
84  SCROW GetEndRow() const { return nEndRow; }
85  size_t GetPagesX() const { return nPagesX; }
86  void SetStartRow(SCROW n) { nStartRow = n; }
87  void SetEndRow(SCROW n) { nEndRow = n; }
88 
89  void SetPagesX(size_t nNew);
90  void SetHidden(size_t nX);
91  bool IsHidden(size_t nX) const;
92 
93  size_t CountVisible() const;
94 };
95 
96 namespace sc
97 {
98 
100 {
109 
111  : m_bSkipEmpty(false)
112  , m_bPrintArea(false)
113  , m_nStartRow(0)
114  , m_nEndRow(0)
115  , m_nStartCol(0)
116  , m_nEndCol(0)
117  , m_nPrintTab(0)
118  {}
119 };
120 
122 {
123 public:
124  PrintPageRanges();
125 
126  // use shared_ptr to avoid copying this (potentially large) data back and forth
127  std::shared_ptr<std::vector<SCCOL>> m_xPageEndX;
128  std::shared_ptr<std::vector<SCROW>> m_xPageEndY;
129  std::shared_ptr<std::map<size_t, ScPageRowEntry>> m_xPageRows;
130 
131  size_t m_nPagesX;
132  size_t m_nPagesY;
133  size_t m_nTotalY;
134 
136 
137  bool checkIfAlreadyCalculatedAndSet(bool bSkipEmpty, bool bPrintArea,
138  SCROW nStartRow, SCROW nEndRow,
139  SCCOL nStartCol, SCCOL nEndCol,
140  SCTAB nPrintTab, Size const & aDocSize);
141 
142  void calculate(ScDocument& rDoc, bool bSkipEmpty, bool bPrintArea,
143  SCROW nStartRow, SCROW nEndRow, SCCOL nStartCol, SCCOL nEndCol,
144  SCTAB nPrintTab, Size const & aDocSize);
145 };
146 
147 }
148 
149 struct ScPrintState // Save Variables from ScPrintFunc
150 {
156  bool bPrintAreaValid; // the 4 variables above are set
157  sal_uInt16 nZoom;
158  size_t nPagesX;
159  size_t nPagesY;
164 
165  // Additional state of page ranges
168  size_t nTotalY;
169  // use shared_ptr to avoid copying this (potentially large) map back and forth
170  std::shared_ptr<std::vector<SCCOL>> xPageEndX;
171  std::shared_ptr<std::vector<SCROW>> xPageEndY;
172  std::shared_ptr<std::map<size_t, ScPageRowEntry>> xPageRows;
173 
175  : nPrintTab(0)
176  , nStartCol(0)
177  , nStartRow(0)
178  , nEndCol(0)
179  , nEndRow(0)
180  , bPrintAreaValid(false)
181  , nZoom(0)
182  , nPagesX(0)
183  , nPagesY(0)
184  , nTabPages(0)
185  , nTotalPages(0)
186  , nPageStart(0)
187  , nDocPages(0)
188  , bSavedStateRanges(false)
189  , nTotalY(0)
190  {}
191 };
192 
194 {
195 private:
201 
202  MapMode aOldPrinterMode; // MapMode before the call
203 
204  Point aSrcOffset; // Paper-1/100 mm
205  Point aOffset; // scaled by a factor of page size
206  sal_uInt16 nManualZoom; // Zoom in Preview (percent)
207  bool bClearWin; // Clear output before
209  bool bIsRender;
210 
212  tools::Long nPageStart; // Offset for the first page
213  tools::Long nDocPages; // Number of Pages in Document
214 
215  const ScRange* pUserArea; // Selection, if set in dialog
216 
217  const SfxItemSet* pParamSet; // Selected template
218  bool bFromPrintState; // created from State-struct
219 
220  // Parameter from template:
221  sal_uInt16 nLeftMargin;
222  sal_uInt16 nTopMargin;
223  sal_uInt16 nRightMargin;
224  sal_uInt16 nBottomMargin;
229 
231  Size aPageSize; // Printer Twips
235 
241 
242  // Calculated values:
243  sal_uInt16 nZoom;
249 
250  tools::Rectangle aPageRect; // Document Twips
251 
252  MapMode aLogicMode; // Set in DoPrint
255  double nScaleX;
256  double nScaleY;
257 
262 
267  bool bPrintAreaValid; // the 4 variables above are set
268 
270 
271  std::unique_ptr<ScHeaderEditEngine> pEditEngine;
272  std::unique_ptr<SfxItemSet> pEditDefaults;
273 
275 
276  std::vector<ScAddress> aNotePosList; // The order of notes
277 
278  ScPageBreakData* pPageData; // for recording the breaks etc.
279 
280 public:
281  ScPrintFunc( ScDocShell* pShell, SfxPrinter* pNewPrinter, SCTAB nTab,
282  tools::Long nPage = 0, tools::Long nDocP = 0,
283  const ScRange* pArea = nullptr,
284  const ScPrintOptions* pOptions = nullptr,
285  ScPageBreakData* pData = nullptr );
286 
287  ScPrintFunc( ScDocShell* pShell, SfxPrinter* pNewPrinter,
288  const ScPrintState& rState, const ScPrintOptions* pOptions );
289 
290  // ctors for device other than printer - for preview and pdf:
291 
292  ScPrintFunc( OutputDevice* pOutDev, ScDocShell* pShell, SCTAB nTab,
293  tools::Long nPage = 0, tools::Long nDocP = 0,
294  const ScRange* pArea = nullptr,
295  const ScPrintOptions* pOptions = nullptr );
296 
297  ScPrintFunc( OutputDevice* pOutDev, ScDocShell* pShell,
298  const ScPrintState& rState,
299  const ScPrintOptions* pOptions );
300 
301  ~ScPrintFunc();
302 
303  static void DrawToDev( ScDocument& rDoc, OutputDevice* pDev, double nPrintFactor,
304  const tools::Rectangle& rBound, ScViewData* pViewData, bool bMetaFile );
305 
306  void SetDrawView( FmFormView* pNew );
307 
308  void SetOffset( const Point& rOfs );
309  void SetManualZoom( sal_uInt16 nNewZoom );
310  void SetDateTime( const DateTime& );
311 
312  void SetClearFlag( bool bFlag );
313  void SetUseStyleColor( bool bFlag );
314  void SetRenderFlag( bool bFlag );
315 
316  void SetExclusivelyDrawOleAndDrawObjects();//for printing selected objects without surrounding cell contents
317 
318  bool UpdatePages();
319 
320  void ApplyPrintSettings(); // Already called from DoPrint()
321  tools::Long DoPrint( const MultiSelection& rPageRanges,
322  tools::Long nStartPage, tools::Long nDisplayStart, bool bDoPrint,
323  ScPreviewLocationData* pLocationData );
324 
325  // Query values - immediately
326 
327  const Size& GetPageSize() const { return aPageSize; }
328  Size GetDataSize() const;
329  void GetScaleData( Size& rPhysSize, tools::Long& rDocHdr, tools::Long& rDocFtr );
330  tools::Long GetFirstPageNo() const { return aTableParam.nFirstPageNo; }
331 
333  sal_uInt16 GetZoom() const { return nZoom; }
334 
335  void ResetBreaks( SCTAB nTab );
336 
337  void GetPrintState(ScPrintState& rState, bool bSavePageRanges = false);
338  bool GetLastSourceRange( ScRange& rRange ) const;
339  sal_uInt16 GetLeftMargin() const{return nLeftMargin;}
340  sal_uInt16 GetRightMargin() const{return nRightMargin;}
341  sal_uInt16 GetTopMargin() const{return nTopMargin;}
342  sal_uInt16 GetBottomMargin() const{return nBottomMargin;}
343  const ScPrintHFParam& GetHeader() const {return aHdr;}
344  const ScPrintHFParam& GetFooter() const {return aFtr;}
345 
346  bool HasPrintRange() const { return mbHasPrintRange;}
347 
348 private:
349  void Construct( const ScPrintOptions* pOptions );
350  void InitParam( const ScPrintOptions* pOptions );
351  void CalcZoom( sal_uInt16 nRangeNo );
352  void CalcPages();
355 
356  bool AdjustPrintArea( bool bNew );
357 
359 
360  tools::Long TextHeight( const EditTextObject* pObject );
361  void MakeEditEngine();
362  void UpdateHFHeight( ScPrintHFParam& rParam );
363 
364  void InitModes();
365 
366  bool IsLeft( tools::Long nPageNo );
367  bool IsMirror( tools::Long nPageNo );
368  void MakeTableString(); // sets aTableStr
369 
370  void PrintPage( tools::Long nPageNo,
371  SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
372  bool bDoPrint, ScPreviewLocationData* pLocationData );
373  void PrintArea( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
374  tools::Long nScrX, tools::Long nScrY,
375  bool bShLeft, bool bShTop, bool bShRight, bool bShBottom );
376  void LocateArea( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
377  tools::Long nScrX, tools::Long nScrY, bool bRepCol, bool bRepRow,
378  ScPreviewLocationData& rLocationData );
379  void PrintColHdr( SCCOL nX1, SCCOL nX2, tools::Long nScrX, tools::Long nScrY );
380  void PrintRowHdr( SCROW nY1, SCROW nY2, tools::Long nScrX, tools::Long nScrY );
381  void LocateColHdr( SCCOL nX1, SCCOL nX2, tools::Long nScrX, tools::Long nScrY,
382  bool bRepCol, ScPreviewLocationData& rLocationData );
383  void LocateRowHdr( SCROW nY1, SCROW nY2, tools::Long nScrX, tools::Long nScrY,
384  bool bRepRow, ScPreviewLocationData& rLocationData );
385  void PrintHF( tools::Long nPageNo, bool bHeader, tools::Long nStartY,
386  bool bDoPrint, ScPreviewLocationData* pLocationData );
387 
388  tools::Long PrintNotes( tools::Long nPageNo, tools::Long nNoteStart, bool bDoPrint, ScPreviewLocationData* pLocationData );
389  tools::Long DoNotes( tools::Long nNoteStart, bool bDoPrint, ScPreviewLocationData* pLocationData );
390 
391  void DrawBorder( tools::Long nScrX, tools::Long nScrY, tools::Long nScrW, tools::Long nScrH,
392  const SvxBoxItem* pBorderData,
393  const SvxBrushItem* pBackground,
394  const SvxShadowItem* pShadow );
395 
396  void FillPageData();
397 };
398 
399 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
std::shared_ptr< std::map< size_t, ScPageRowEntry > > xPageRows
Definition: printfun.hxx:172
std::shared_ptr< std::vector< SCROW > > xPageEndY
Definition: printfun.hxx:171
FmFormView * pDrawView
Definition: printfun.hxx:200
bool bMultiArea
Definition: printfun.hxx:245
SCCOL nEndCol
Definition: printfun.hxx:154
bool IsHidden(size_t nX) const
Definition: printfun.cxx:131
void GetPrintState(ScPrintState &rState, bool bSavePageRanges=false)
Definition: printfun.cxx:353
void GetScaleData(Size &rPhysSize, tools::Long &rDocHdr, tools::Long &rDocFtr)
Definition: printfun.cxx:1129
MapMode aOffsetMode
Definition: printfun.hxx:253
sal_uInt16 nTopMargin
Definition: printfun.hxx:222
Size GetDocPageSize()
Definition: printfun.cxx:2959
void CalcZoom(sal_uInt16 nRangeNo)
Definition: printfun.cxx:2788
void SetManualZoom(sal_uInt16 nNewZoom)
Definition: printfun.cxx:2394
void SetUseStyleColor(bool bFlag)
Definition: printfun.cxx:2404
SCROW GetEndRow() const
Definition: printfun.hxx:84
double nScaleX
Definition: printfun.hxx:255
std::shared_ptr< std::vector< SCROW > > m_xPageEndY
Definition: printfun.hxx:128
SCROW nStartRow
Definition: printfun.hxx:71
ScPrintFunc(ScDocShell *pShell, SfxPrinter *pNewPrinter, SCTAB nTab, tools::Long nPage=0, tools::Long nDocP=0, const ScRange *pArea=nullptr, const ScPrintOptions *pOptions=nullptr, ScPageBreakData *pData=nullptr)
Definition: printfun.cxx:198
tools::Long nDocPages
Definition: printfun.hxx:213
static void DrawToDev(ScDocument &rDoc, OutputDevice *pDev, double nPrintFactor, const tools::Rectangle &rBound, ScViewData *pViewData, bool bMetaFile)
Definition: printfun.cxx:465
void SetEndRow(SCROW n)
Definition: printfun.hxx:87
void MakeTableString()
Definition: printfun.cxx:1718
bool IsLeft(tools::Long nPageNo)
Definition: printfun.cxx:1706
void PrintPage(tools::Long nPageNo, SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, bool bDoPrint, ScPreviewLocationData *pLocationData)
Definition: printfun.cxx:2043
void SetPagesX(size_t nNew)
Definition: printfun.cxx:111
std::shared_ptr< std::vector< SCCOL > > m_xPageEndX
Definition: printfun.hxx:127
long Long
void ResetBreaks(SCTAB nTab)
Definition: printfun.cxx:3004
const SvxShadowItem * pShadow
Definition: printfun.hxx:65
const SfxItemSet * pParamSet
Definition: printfun.hxx:217
void PrintRowHdr(SCROW nY1, SCROW nY2, tools::Long nScrX, tools::Long nScrY)
Definition: printfun.cxx:1469
const ScPageHFItem * pRight
Definition: printfun.hxx:61
sal_uInt16 nLeftMargin
Definition: printfun.hxx:221
tools::Long TextHeight(const EditTextObject *pObject)
Definition: printfun.cxx:786
bool mbHasPrintRange
Definition: printfun.hxx:246
sal_uInt16 nBottomMargin
Definition: printfun.hxx:224
void PrintArea(SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, tools::Long nScrX, tools::Long nScrY, bool bShLeft, bool bShTop, bool bShRight, bool bShBottom)
Definition: printfun.cxx:1594
sal_uInt16 nFirstPageNo
Definition: pagepar.hxx:47
bool GetLastSourceRange(ScRange &rRange) const
Definition: printfun.cxx:379
Size GetDataSize() const
Definition: printfun.cxx:1120
SCTAB nPrintTab
Definition: printfun.hxx:151
SCROW GetStartRow() const
Definition: printfun.hxx:83
bool bClearWin
Definition: printfun.hxx:207
bool bSourceRangeValid
Definition: printfun.hxx:228
const ScPageHFItem * pFirst
Definition: printfun.hxx:62
tools::Rectangle aPageRect
Definition: printfun.hxx:250
std::vector< ScAddress > aNotePosList
Definition: printfun.hxx:276
ScPageTableParam aTableParam
Definition: printfun.hxx:239
const ScRange * pUserArea
Definition: printfun.hxx:215
void FillPageData()
Definition: printfun.cxx:385
sal_uInt16 GetRightMargin() const
Definition: printfun.hxx:340
void LocateColHdr(SCCOL nX1, SCCOL nX2, tools::Long nScrX, tools::Long nScrY, bool bRepCol, ScPreviewLocationData &rLocationData)
Definition: printfun.cxx:1510
void InitParam(const ScPrintOptions *pOptions)
Definition: printfun.cxx:857
const SvxBoxItem * pBorder
Definition: printfun.hxx:63
MapMode aLogicMode
Definition: printfun.hxx:252
SvxPageUsage nPageUsage
Definition: printfun.hxx:230
sal_uInt16 GetTopMargin() const
Definition: printfun.hxx:341
tools::Long DoPrint(const MultiSelection &rPageRanges, tools::Long nStartPage, tools::Long nDisplayStart, bool bDoPrint, ScPreviewLocationData *pLocationData)
Definition: printfun.cxx:2659
ScPageAreaParam aAreaParam
Definition: printfun.hxx:240
ScDocShell * pDocShell
Definition: printfun.hxx:196
tools::Long PrintNotes(tools::Long nPageNo, tools::Long nNoteStart, bool bDoPrint, ScPreviewLocationData *pLocationData)
Definition: printfun.cxx:1977
bool bPrintAreaValid
Definition: printfun.hxx:267
bool bPrintAreaValid
Definition: printfun.hxx:156
SCROW nStartRow
Definition: printfun.hxx:264
sc::PrintPageRanges m_aRanges
Definition: printfun.hxx:269
tools::Long nTabPages
Definition: printfun.hxx:160
ScPrintHFParam aFtr
Definition: printfun.hxx:238
tools::Long nTotalPages
Definition: printfun.hxx:161
sal_uInt16 GetBottomMargin() const
Definition: printfun.hxx:342
tools::Long CountNotePages()
Definition: printfun.cxx:2530
bool UpdatePages()
Definition: printfun.cxx:2429
tools::Long nTabPages
Definition: printfun.hxx:247
sal_uInt16 GetZoom() const
Definition: printfun.hxx:333
void MakeEditEngine()
Definition: printfun.cxx:1725
bool bCenterHor
Definition: printfun.hxx:225
SCTAB nPrintTab
Definition: printfun.hxx:211
tools::Long DoNotes(tools::Long nNoteStart, bool bDoPrint, ScPreviewLocationData *pLocationData)
Definition: printfun.cxx:1903
Point aOffset
Definition: printfun.hxx:205
tools::Long GetTotalPages() const
Definition: printfun.hxx:332
bool bUseStyleColor
Definition: printfun.hxx:208
void LocateArea(SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, tools::Long nScrX, tools::Long nScrY, bool bRepCol, bool bRepRow, ScPreviewLocationData &rLocationData)
Definition: printfun.cxx:1551
size_t nPagesX
Definition: printfun.hxx:158
tools::Long nDocPages
Definition: printfun.hxx:163
sal_Int16 SCCOL
Definition: types.hxx:21
bool bFromPrintState
Definition: printfun.hxx:218
ScRange aLastSourceRange
Definition: printfun.hxx:236
SCROW nEndRow
Definition: printfun.hxx:155
void ApplyPrintSettings()
Definition: printfun.cxx:2620
SCCOL nStartCol
Definition: printfun.hxx:152
sal_uInt16 nZoom
Definition: printfun.hxx:243
PrintPageRangesInput m_aInput
Definition: printfun.hxx:135
ScDocument & rDoc
Definition: printfun.hxx:197
bool bIsRender
Definition: printfun.hxx:209
bool IsMirror(tools::Long nPageNo)
Definition: printfun.cxx:1701
void LocateRowHdr(SCROW nY1, SCROW nY2, tools::Long nScrX, tools::Long nScrY, bool bRepRow, ScPreviewLocationData &rLocationData)
Definition: printfun.cxx:1531
ScPageBreakData * pPageData
Definition: printfun.hxx:278
bool HasPrintRange() const
Definition: printfun.hxx:346
tools::Long nPageStart
Definition: printfun.hxx:162
ScPageRowEntry & operator=(const ScPageRowEntry &r)
Definition: printfun.cxx:101
VclPtr< SfxPrinter > pPrinter
Definition: printfun.hxx:198
sal_uInt16 nRight
Definition: printfun.hxx:59
void SetOffset(const Point &rOfs)
Definition: printfun.cxx:2389
const SvxBoxItem * pBorderItem
Definition: printfun.hxx:232
SCCOL nRepeatEndCol
Definition: printfun.hxx:259
sc::PrintPageRangesInput aPrintPageRangesInput
Definition: printfun.hxx:167
Size aPageSize
Definition: printfun.hxx:231
const SvxBrushItem * pBackgroundItem
Definition: printfun.hxx:233
bool bCenterVer
Definition: printfun.hxx:226
void calculate(ScDocument &rDoc, bool bSkipEmpty, bool bPrintArea, SCROW nStartRow, SCROW nEndRow, SCCOL nStartCol, SCCOL nEndCol, SCTAB nPrintTab, Size const &aDocSize)
Definition: printfun.cxx:3081
const ScPrintHFParam & GetFooter() const
Definition: printfun.hxx:344
SvxPageUsage
void PrintColHdr(SCCOL nX1, SCCOL nX2, tools::Long nScrX, tools::Long nScrY)
Definition: printfun.cxx:1420
sal_uInt16 nLeft
Definition: printfun.hxx:58
SCCOL nRepeatStartCol
Definition: printfun.hxx:258
ScHeaderFieldData aFieldData
Definition: printfun.hxx:274
bool AdjustPrintArea(bool bNew)
Definition: printfun.cxx:702
void SetDateTime(const DateTime &)
Definition: printfun.cxx:1139
double nScaleY
Definition: printfun.hxx:256
bool bLandscape
Definition: printfun.hxx:227
void SetHidden(size_t nX)
Definition: printfun.cxx:117
sal_Int32 SCROW
Definition: types.hxx:17
sal_uInt16 nManualZoom
Definition: printfun.hxx:206
void PrintHF(tools::Long nPageNo, bool bHeader, tools::Long nStartY, bool bDoPrint, ScPreviewLocationData *pLocationData)
Definition: printfun.cxx:1765
sal_uInt16 nDistance
Definition: printfun.hxx:57
SCROW nRepeatEndRow
Definition: printfun.hxx:261
Point aSrcOffset
Definition: printfun.hxx:204
void SetDrawView(FmFormView *pNew)
Definition: printfun.cxx:434
size_t CountVisible() const
Definition: printfun.cxx:136
VclPtr< OutputDevice > pDev
Definition: printfun.hxx:199
MapMode aTwipMode
Definition: printfun.hxx:254
bool bSavedStateRanges
Definition: printfun.hxx:166
void Construct(const ScPrintOptions *pOptions)
Definition: printfun.cxx:155
void CalcPages()
Definition: printfun.cxx:3038
size_t GetPagesX() const
Definition: printfun.hxx:85
tools::Long CountPages()
Definition: printfun.cxx:2462
size_t nPagesY
Definition: printfun.hxx:159
void DrawBorder(tools::Long nScrX, tools::Long nScrY, tools::Long nScrW, tools::Long nScrH, const SvxBoxItem *pBorderData, const SvxBrushItem *pBackground, const SvxShadowItem *pShadow)
Definition: printfun.cxx:1284
MapMode aOldPrinterMode
Definition: printfun.hxx:202
SCCOL nEndCol
Definition: printfun.hxx:265
void InitModes()
Definition: printfun.cxx:2595
const SvxShadowItem * pShadowItem
Definition: printfun.hxx:234
tools::Long nTotalPages
Definition: printfun.hxx:248
bool checkIfAlreadyCalculatedAndSet(bool bSkipEmpty, bool bPrintArea, SCROW nStartRow, SCROW nEndRow, SCCOL nStartCol, SCCOL nEndCol, SCTAB nPrintTab, Size const &aDocSize)
Definition: printfun.cxx:3053
const SvxBrushItem * pBack
Definition: printfun.hxx:64
std::unique_ptr< ScHeaderEditEngine > pEditEngine
Definition: printfun.hxx:271
bool bPrintCurrentTable
Definition: printfun.hxx:244
tools::Long nHeight
Definition: printfun.hxx:55
SCCOL nStartCol
Definition: printfun.hxx:263
tools::Long GetFirstPageNo() const
Definition: printfun.hxx:330
void SetClearFlag(bool bFlag)
Definition: printfun.cxx:2399
std::shared_ptr< std::vector< SCCOL > > xPageEndX
Definition: printfun.hxx:170
std::shared_ptr< std::map< size_t, ScPageRowEntry > > m_xPageRows
Definition: printfun.hxx:129
sal_uInt16 nRightMargin
Definition: printfun.hxx:223
const ScPrintHFParam & GetHeader() const
Definition: printfun.hxx:343
void UpdateHFHeight(ScPrintHFParam &rParam)
Definition: printfun.cxx:799
void SetRenderFlag(bool bFlag)
Definition: printfun.cxx:2411
size_t nPagesX
Definition: printfun.hxx:73
bool bSharedFirst
Definition: printfun.hxx:54
std::vector< bool > aHidden
Definition: printfun.hxx:74
void SetStartRow(SCROW n)
Definition: printfun.hxx:86
ScPageRowEntry()
Cache Number of really visible?
Definition: printfun.hxx:78
sal_uInt16 nZoom
Definition: printfun.hxx:157
void SetExclusivelyDrawOleAndDrawObjects()
Definition: printfun.cxx:2416
const ScPageHFItem * pLeft
Definition: printfun.hxx:60
sal_uInt16 GetLeftMargin() const
Definition: printfun.hxx:339
tools::Long nPageStart
Definition: printfun.hxx:212
tools::Long nManHeight
Definition: printfun.hxx:56
SCROW nEndRow
Definition: printfun.hxx:266
sal_Int16 SCTAB
Definition: types.hxx:22
size_t nTotalY
Definition: printfun.hxx:168
SCROW nStartRow
Definition: printfun.hxx:153
const Size & GetPageSize() const
Definition: printfun.hxx:327
std::unique_ptr< SfxItemSet > pEditDefaults
Definition: printfun.hxx:272
ScPrintHFParam aHdr
Definition: printfun.hxx:237
SCROW nRepeatStartRow
Definition: printfun.hxx:260