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