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
27class SfxPrinter;
28class ScDocShell;
29class ScDocument;
30class ScViewData;
31class SfxItemSet;
32class ScPageHFItem;
33class EditTextObject;
34class MultiSelection;
35class ScPageBreakData;
37class ScPrintOptions;
38class SvxBoxItem;
39class SvxBrushItem;
40class SvxShadowItem;
41class FmFormView;
42
43#define RANGENO_NORANGE USHRT_MAX
44
47
48 // Settings for headers/footers
50{
51 bool bEnable;
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{
70private:
73 size_t nPagesX;
74 std::vector<bool> aHidden;
76
77public:
79
82
83 SCROW GetStartRow() const { return nStartRow; }
84 SCROW GetEndRow() const { return nEndRow; }
85 size_t GetPagesX() const { return nPagesX; }
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
96namespace sc
97{
98
100{
105
107 : m_bSkipEmpty(false)
108 , m_bPrintArea(false)
109 {}
110
111 PrintPageRangesInput(bool bSkipEmpty, bool bPrintArea, ScRange const& rRange, Size const& rDocSize)
112 : m_bSkipEmpty(bSkipEmpty)
113 , m_bPrintArea(bPrintArea)
114 , m_aRange(rRange)
115 , m_aDocSize(rDocSize)
116 {}
117
118 bool operator==(PrintPageRangesInput const& rInput) const
119 {
120 return
121 m_bSkipEmpty == rInput.m_bSkipEmpty &&
122 m_bPrintArea == rInput.m_bPrintArea &&
123 m_aRange == rInput.m_aRange &&
124 m_aDocSize == rInput.m_aDocSize;
125 }
126
128 {
129 m_bSkipEmpty = rInput.m_bSkipEmpty;
130 m_bPrintArea = rInput.m_bPrintArea;
131 m_aRange = rInput.m_aRange;
132 m_aDocSize = rInput.m_aDocSize;
133
134 return *this;
135 }
136
138 {
139 return m_aRange.aStart.Row();
140 }
141
143 {
144 return m_aRange.aEnd.Row();
145 }
146
148 {
149 return m_aRange.aStart.Col();
150 }
151
153 {
154 return m_aRange.aEnd.Col();
155 }
156
158 {
159 return m_aRange.aStart.Tab();
160 }
161};
162
164{
165public:
167
168 // use shared_ptr to avoid copying this (potentially large) data back and forth
169 std::shared_ptr<std::vector<SCCOL>> m_xPageEndX;
170 std::shared_ptr<std::vector<SCROW>> m_xPageEndY;
171 std::shared_ptr<std::map<size_t, ScPageRowEntry>> m_xPageRows;
172
173 size_t m_nPagesX;
174 size_t m_nPagesY;
175 size_t m_nTotalY;
176
178
179 void calculate(ScDocument& rDoc, PrintPageRangesInput const& rInput);
180};
181
182} // end sc namespace
183
184struct ScPrintState // Save Variables from ScPrintFunc
185{
191 bool bPrintAreaValid; // the 4 variables above are set
192 sal_uInt16 nZoom;
193 size_t nPagesX;
194 size_t nPagesY;
199
200 // Additional state of page ranges
203 size_t nTotalY;
204 // use shared_ptr to avoid copying this (potentially large) map back and forth
205 std::shared_ptr<std::vector<SCCOL>> xPageEndX;
206 std::shared_ptr<std::vector<SCROW>> xPageEndY;
207 std::shared_ptr<std::map<size_t, ScPageRowEntry>> xPageRows;
208
210 : nPrintTab(0)
211 , nStartCol(0)
212 , nStartRow(0)
213 , nEndCol(0)
214 , nEndRow(0)
215 , bPrintAreaValid(false)
216 , nZoom(0)
217 , nPagesX(0)
218 , nPagesY(0)
219 , nTabPages(0)
220 , nTotalPages(0)
221 , nPageStart(0)
222 , nDocPages(0)
223 , bSavedStateRanges(false)
224 , nTotalY(0)
225 {}
226};
227
229{
230private:
236
237 MapMode aOldPrinterMode; // MapMode before the call
238
239 Point aSrcOffset; // Paper-1/100 mm
240 Point aOffset; // scaled by a factor of page size
241 sal_uInt16 nManualZoom; // Zoom in Preview (percent)
242 bool bClearWin; // Clear output before
245
247 tools::Long nPageStart; // Offset for the first page
248 tools::Long nDocPages; // Number of Pages in Document
249
250 const ScRange* pUserArea; // Selection, if set in dialog
251
252 const SfxItemSet* pParamSet; // Selected template
253 bool bFromPrintState; // created from State-struct
254
255 // Parameter from template:
256 sal_uInt16 nLeftMargin;
257 sal_uInt16 nTopMargin;
258 sal_uInt16 nRightMargin;
259 sal_uInt16 nBottomMargin;
264
266 Size aPageSize; // Printer Twips
270
276
277 // Calculated values:
278 sal_uInt16 nZoom;
284
285 tools::Rectangle aPageRect; // Document Twips
286
287 MapMode aLogicMode; // Set in DoPrint
290 double nScaleX;
291 double nScaleY;
292
297
302 bool bPrintAreaValid; // the 4 variables above are set
303
305
306 std::unique_ptr<ScHeaderEditEngine> pEditEngine;
307 std::unique_ptr<SfxItemSet> pEditDefaults;
308
310
311 std::vector<ScAddress> aNotePosList; // The order of notes
312
313 ScPageBreakData* pPageData; // for recording the breaks etc.
314
315public:
316 ScPrintFunc( ScDocShell* pShell, SfxPrinter* pNewPrinter, SCTAB nTab,
317 tools::Long nPage = 0, tools::Long nDocP = 0,
318 const ScRange* pArea = nullptr,
319 const ScPrintOptions* pOptions = nullptr,
320 ScPageBreakData* pData = nullptr );
321
322 ScPrintFunc( ScDocShell* pShell, SfxPrinter* pNewPrinter,
323 const ScPrintState& rState, const ScPrintOptions* pOptions );
324
325 // ctors for device other than printer - for preview and pdf:
326
327 ScPrintFunc( OutputDevice* pOutDev, ScDocShell* pShell, SCTAB nTab,
328 tools::Long nPage = 0, tools::Long nDocP = 0,
329 const ScRange* pArea = nullptr,
330 const ScPrintOptions* pOptions = nullptr );
331
332 ScPrintFunc( OutputDevice* pOutDev, ScDocShell* pShell,
333 const ScPrintState& rState,
334 const ScPrintOptions* pOptions );
335
336 ~ScPrintFunc();
337
338 static void DrawToDev( ScDocument& rDoc, OutputDevice* pDev, double nPrintFactor,
339 const tools::Rectangle& rBound, ScViewData* pViewData, bool bMetaFile );
340
341 void SetDrawView( FmFormView* pNew );
342
343 void SetOffset( const Point& rOfs );
344 void SetManualZoom( sal_uInt16 nNewZoom );
345 void SetDateTime( const DateTime& );
346
347 void SetClearFlag( bool bFlag );
348 void SetUseStyleColor( bool bFlag );
349 void SetRenderFlag( bool bFlag );
350
351 void SetExclusivelyDrawOleAndDrawObjects();//for printing selected objects without surrounding cell contents
352
353 bool UpdatePages();
354
355 void ApplyPrintSettings(); // Already called from DoPrint()
356 tools::Long DoPrint( const MultiSelection& rPageRanges,
357 tools::Long nStartPage, tools::Long nDisplayStart, bool bDoPrint,
358 ScPreviewLocationData* pLocationData );
359
360 // Query values - immediately
361
362 const Size& GetPageSize() const { return aPageSize; }
363 Size GetDataSize() const;
364 void GetScaleData( Size& rPhysSize, tools::Long& rDocHdr, tools::Long& rDocFtr );
366
368 sal_uInt16 GetZoom() const { return nZoom; }
369
370 void ResetBreaks( SCTAB nTab );
371
372 void GetPrintState(ScPrintState& rState, bool bSavePageRanges = false);
373 bool GetLastSourceRange( ScRange& rRange ) const;
374 sal_uInt16 GetLeftMargin() const{return nLeftMargin;}
375 sal_uInt16 GetRightMargin() const{return nRightMargin;}
376 sal_uInt16 GetTopMargin() const{return nTopMargin;}
377 sal_uInt16 GetBottomMargin() const{return nBottomMargin;}
378 const ScPrintHFParam& GetHeader() const {return aHdr;}
379 const ScPrintHFParam& GetFooter() const {return aFtr;}
380
381 bool HasPrintRange() const { return mbHasPrintRange;}
382
383private:
384 void Construct( const ScPrintOptions* pOptions );
385 void InitParam( const ScPrintOptions* pOptions );
386 void CalcZoom( sal_uInt16 nRangeNo );
387 void CalcPages();
390
391 bool AdjustPrintArea( bool bNew );
392
394
395 tools::Long TextHeight( const EditTextObject* pObject );
396 void MakeEditEngine();
397 void UpdateHFHeight( ScPrintHFParam& rParam );
398
399 void InitModes();
400
401 bool IsLeft( tools::Long nPageNo );
402 bool IsMirror( tools::Long nPageNo );
403 void MakeTableString(); // sets aTableStr
404
405 void PrintPage( tools::Long nPageNo,
406 SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
407 bool bDoPrint, ScPreviewLocationData* pLocationData );
408 void PrintArea( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
409 tools::Long nScrX, tools::Long nScrY,
410 bool bShLeft, bool bShTop, bool bShRight, bool bShBottom );
411 void LocateArea( SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2,
412 tools::Long nScrX, tools::Long nScrY, bool bRepCol, bool bRepRow,
413 ScPreviewLocationData& rLocationData );
414 void PrintColHdr( SCCOL nX1, SCCOL nX2, tools::Long nScrX, tools::Long nScrY );
415 void PrintRowHdr( SCROW nY1, SCROW nY2, tools::Long nScrX, tools::Long nScrY );
416 void LocateColHdr( SCCOL nX1, SCCOL nX2, tools::Long nScrX, tools::Long nScrY,
417 bool bRepCol, ScPreviewLocationData& rLocationData );
418 void LocateRowHdr( SCROW nY1, SCROW nY2, tools::Long nScrX, tools::Long nScrY,
419 bool bRepRow, ScPreviewLocationData& rLocationData );
420 void PrintHF( tools::Long nPageNo, bool bHeader, tools::Long nStartY,
421 bool bDoPrint, ScPreviewLocationData* pLocationData );
422
423 tools::Long PrintNotes( tools::Long nPageNo, tools::Long nNoteStart, bool bDoPrint, ScPreviewLocationData* pLocationData );
424 tools::Long DoNotes( tools::Long nNoteStart, bool bDoPrint, ScPreviewLocationData* pLocationData );
425
426 void DrawBorder( tools::Long nScrX, tools::Long nScrY, tools::Long nScrW, tools::Long nScrH,
427 const SvxBoxItem* pBorderData,
428 const SvxBrushItem* pBackground,
429 const SvxShadowItem* pShadow );
430
431 void FillPageData();
432};
433
434/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
SCTAB Tab() const
Definition: address.hxx:283
SCROW Row() const
Definition: address.hxx:274
SCCOL Col() const
Definition: address.hxx:279
void SetStartRow(SCROW n)
Definition: printfun.hxx:86
SCROW GetEndRow() const
Definition: printfun.hxx:84
size_t CountVisible() const
Definition: printfun.cxx:136
void SetPagesX(size_t nNew)
Definition: printfun.cxx:111
bool IsHidden(size_t nX) const
Definition: printfun.cxx:131
size_t nPagesX
Definition: printfun.hxx:73
ScPageRowEntry & operator=(const ScPageRowEntry &r)
Definition: printfun.cxx:101
void SetEndRow(SCROW n)
Definition: printfun.hxx:87
SCROW nStartRow
Definition: printfun.hxx:71
std::vector< bool > aHidden
Definition: printfun.hxx:74
ScPageRowEntry()
Cache Number of really visible?
Definition: printfun.hxx:78
void SetHidden(size_t nX)
Definition: printfun.cxx:117
size_t GetPagesX() const
Definition: printfun.hxx:85
SCROW GetStartRow() const
Definition: printfun.hxx:83
tools::Long TextHeight(const EditTextObject *pObject)
Definition: printfun.cxx:788
void SetRenderFlag(bool bFlag)
Definition: printfun.cxx:2408
ScDocument & rDoc
Definition: printfun.hxx:232
bool bMultiArea
Definition: printfun.hxx:280
void InitParam(const ScPrintOptions *pOptions)
Definition: printfun.cxx:859
const ScPrintHFParam & GetFooter() const
Definition: printfun.hxx:379
sal_uInt16 nRightMargin
Definition: printfun.hxx:258
const SvxBoxItem * pBorderItem
Definition: printfun.hxx:267
SCCOL nStartCol
Definition: printfun.hxx:298
double nScaleY
Definition: printfun.hxx:291
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:1590
SCROW nRepeatEndRow
Definition: printfun.hxx:296
tools::Long GetFirstPageNo() const
Definition: printfun.hxx:365
Size GetDataSize() const
Definition: printfun.cxx:1118
void PrintHF(tools::Long nPageNo, bool bHeader, tools::Long nStartY, bool bDoPrint, ScPreviewLocationData *pLocationData)
Definition: printfun.cxx:1762
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:1549
bool GetLastSourceRange(ScRange &rRange) const
Definition: printfun.cxx:379
sal_uInt16 GetZoom() const
Definition: printfun.hxx:368
sal_uInt16 GetTopMargin() const
Definition: printfun.hxx:376
SCCOL nEndCol
Definition: printfun.hxx:300
FmFormView * pDrawView
Definition: printfun.hxx:235
bool bCenterVer
Definition: printfun.hxx:261
bool bCenterHor
Definition: printfun.hxx:260
bool bPrintAreaValid
Definition: printfun.hxx:302
std::vector< ScAddress > aNotePosList
Definition: printfun.hxx:311
Size aPageSize
Definition: printfun.hxx:266
void InitModes()
Definition: printfun.cxx:2592
SCCOL nRepeatEndCol
Definition: printfun.hxx:294
tools::Long nDocPages
Definition: printfun.hxx:248
ScPrintHFParam aHdr
Definition: printfun.hxx:272
void CalcPages()
Definition: printfun.cxx:3036
void FillPageData()
Definition: printfun.cxx:385
bool HasPrintRange() const
Definition: printfun.hxx:381
MapMode aOldPrinterMode
Definition: printfun.hxx:237
tools::Long DoPrint(const MultiSelection &rPageRanges, tools::Long nStartPage, tools::Long nDisplayStart, bool bDoPrint, ScPreviewLocationData *pLocationData)
Definition: printfun.cxx:2657
tools::Long nPageStart
Definition: printfun.hxx:247
SCROW nRepeatStartRow
Definition: printfun.hxx:295
void SetOffset(const Point &rOfs)
Definition: printfun.cxx:2386
ScPrintHFParam aFtr
Definition: printfun.hxx:273
Point aOffset
Definition: printfun.hxx:240
SCROW nEndRow
Definition: printfun.hxx:301
void SetDrawView(FmFormView *pNew)
Definition: printfun.cxx:434
void LocateColHdr(SCCOL nX1, SCCOL nX2, tools::Long nScrX, tools::Long nScrY, bool bRepCol, ScPreviewLocationData &rLocationData)
Definition: printfun.cxx:1508
const SvxShadowItem * pShadowItem
Definition: printfun.hxx:269
MapMode aOffsetMode
Definition: printfun.hxx:288
MapMode aLogicMode
Definition: printfun.hxx:287
VclPtr< SfxPrinter > pPrinter
Definition: printfun.hxx:233
void LocateRowHdr(SCROW nY1, SCROW nY2, tools::Long nScrX, tools::Long nScrY, bool bRepRow, ScPreviewLocationData &rLocationData)
Definition: printfun.cxx:1529
Point aSrcOffset
Definition: printfun.hxx:239
bool bIsRender
Definition: printfun.hxx:244
tools::Long DoNotes(tools::Long nNoteStart, bool bDoPrint, ScPreviewLocationData *pLocationData)
Definition: printfun.cxx:1900
std::unique_ptr< ScHeaderEditEngine > pEditEngine
Definition: printfun.hxx:306
ScHeaderFieldData aFieldData
Definition: printfun.hxx:309
tools::Rectangle aPageRect
Definition: printfun.hxx:285
sal_uInt16 nManualZoom
Definition: printfun.hxx:241
const ScRange * pUserArea
Definition: printfun.hxx:250
bool IsMirror(tools::Long nPageNo)
Definition: printfun.cxx:1698
void SetDateTime(const DateTime &)
Definition: printfun.cxx:1137
void PrintPage(tools::Long nPageNo, SCCOL nX1, SCROW nY1, SCCOL nX2, SCROW nY2, bool bDoPrint, ScPreviewLocationData *pLocationData)
Definition: printfun.cxx:2040
SCCOL nRepeatStartCol
Definition: printfun.hxx:293
bool bPrintCurrentTable
Definition: printfun.hxx:279
static void DrawToDev(ScDocument &rDoc, OutputDevice *pDev, double nPrintFactor, const tools::Rectangle &rBound, ScViewData *pViewData, bool bMetaFile)
Definition: printfun.cxx:466
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
MapMode aTwipMode
Definition: printfun.hxx:289
const ScPrintHFParam & GetHeader() const
Definition: printfun.hxx:378
ScDocShell * pDocShell
Definition: printfun.hxx:231
tools::Long CountPages()
Definition: printfun.cxx:2459
const SfxItemSet * pParamSet
Definition: printfun.hxx:252
void SetClearFlag(bool bFlag)
Definition: printfun.cxx:2396
ScPageAreaParam aAreaParam
Definition: printfun.hxx:275
VclPtr< OutputDevice > pDev
Definition: printfun.hxx:234
bool UpdatePages()
Definition: printfun.cxx:2426
double nScaleX
Definition: printfun.hxx:290
void PrintRowHdr(SCROW nY1, SCROW nY2, tools::Long nScrX, tools::Long nScrY)
Definition: printfun.cxx:1467
sal_uInt16 nZoom
Definition: printfun.hxx:278
void SetManualZoom(sal_uInt16 nNewZoom)
Definition: printfun.cxx:2391
void MakeEditEngine()
Definition: printfun.cxx:1722
void UpdateHFHeight(ScPrintHFParam &rParam)
Definition: printfun.cxx:801
ScPageBreakData * pPageData
Definition: printfun.hxx:313
std::unique_ptr< SfxItemSet > pEditDefaults
Definition: printfun.hxx:307
void MakeTableString()
Definition: printfun.cxx:1715
void Construct(const ScPrintOptions *pOptions)
Definition: printfun.cxx:155
bool bUseStyleColor
Definition: printfun.hxx:243
tools::Long GetTotalPages() const
Definition: printfun.hxx:367
bool bSourceRangeValid
Definition: printfun.hxx:263
bool bClearWin
Definition: printfun.hxx:242
ScRange aLastSourceRange
Definition: printfun.hxx:271
void GetPrintState(ScPrintState &rState, bool bSavePageRanges=false)
Definition: printfun.cxx:353
const SvxBrushItem * pBackgroundItem
Definition: printfun.hxx:268
sal_uInt16 GetLeftMargin() const
Definition: printfun.hxx:374
sal_uInt16 GetRightMargin() const
Definition: printfun.hxx:375
bool mbHasPrintRange
Definition: printfun.hxx:281
void CalcZoom(sal_uInt16 nRangeNo)
Definition: printfun.cxx:2786
void PrintColHdr(SCCOL nX1, SCCOL nX2, tools::Long nScrX, tools::Long nScrY)
Definition: printfun.cxx:1418
sal_uInt16 GetBottomMargin() const
Definition: printfun.hxx:377
bool AdjustPrintArea(bool bNew)
Definition: printfun.cxx:704
sal_uInt16 nTopMargin
Definition: printfun.hxx:257
sc::PrintPageRanges m_aRanges
Definition: printfun.hxx:304
bool bFromPrintState
Definition: printfun.hxx:253
sal_uInt16 nBottomMargin
Definition: printfun.hxx:259
tools::Long PrintNotes(tools::Long nPageNo, tools::Long nNoteStart, bool bDoPrint, ScPreviewLocationData *pLocationData)
Definition: printfun.cxx:1974
SCTAB nPrintTab
Definition: printfun.hxx:246
const Size & GetPageSize() const
Definition: printfun.hxx:362
bool IsLeft(tools::Long nPageNo)
Definition: printfun.cxx:1703
Size GetDocPageSize()
Definition: printfun.cxx:2957
void GetScaleData(Size &rPhysSize, tools::Long &rDocHdr, tools::Long &rDocFtr)
Definition: printfun.cxx:1127
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:1282
bool bLandscape
Definition: printfun.hxx:262
tools::Long CountNotePages()
Definition: printfun.cxx:2527
sal_uInt16 nLeftMargin
Definition: printfun.hxx:256
SvxPageUsage nPageUsage
Definition: printfun.hxx:265
tools::Long nTabPages
Definition: printfun.hxx:282
void ApplyPrintSettings()
Definition: printfun.cxx:2618
void SetUseStyleColor(bool bFlag)
Definition: printfun.cxx:2401
void ResetBreaks(SCTAB nTab)
Definition: printfun.cxx:3002
ScPageTableParam aTableParam
Definition: printfun.hxx:274
void SetExclusivelyDrawOleAndDrawObjects()
Definition: printfun.cxx:2413
tools::Long nTotalPages
Definition: printfun.hxx:283
SCROW nStartRow
Definition: printfun.hxx:299
ScAddress aEnd
Definition: address.hxx:498
ScAddress aStart
Definition: address.hxx:497
void calculate(ScDocument &rDoc, PrintPageRangesInput const &rInput)
Definition: printfun.cxx:3055
PrintPageRangesInput m_aInput
Definition: printfun.hxx:177
std::shared_ptr< std::vector< SCROW > > m_xPageEndY
Definition: printfun.hxx:170
std::shared_ptr< std::map< size_t, ScPageRowEntry > > m_xPageRows
Definition: printfun.hxx:171
std::shared_ptr< std::vector< SCCOL > > m_xPageEndX
Definition: printfun.hxx:169
sal_Int64 n
constexpr auto toTwips(N number, Length from)
CAUTION! The following defines must be in the same namespace as the respective type.
long Long
SvxPageUsage
constexpr sal_Int64 PRINT_HEADER_HEIGHT
Definition: printfun.hxx:46
constexpr sal_Int64 PRINT_HEADER_WIDTH
Definition: printfun.hxx:45
sal_uInt16 nFirstPageNo
Definition: pagepar.hxx:47
const SvxBoxItem * pBorder
Definition: printfun.hxx:63
const SvxShadowItem * pShadow
Definition: printfun.hxx:65
tools::Long nHeight
Definition: printfun.hxx:55
sal_uInt16 nDistance
Definition: printfun.hxx:57
const SvxBrushItem * pBack
Definition: printfun.hxx:64
tools::Long nManHeight
Definition: printfun.hxx:56
sal_uInt16 nRight
Definition: printfun.hxx:59
bool bSharedFirst
Definition: printfun.hxx:54
const ScPageHFItem * pRight
Definition: printfun.hxx:61
sal_uInt16 nLeft
Definition: printfun.hxx:58
const ScPageHFItem * pLeft
Definition: printfun.hxx:60
const ScPageHFItem * pFirst
Definition: printfun.hxx:62
std::shared_ptr< std::vector< SCROW > > xPageEndY
Definition: printfun.hxx:206
sal_uInt16 nZoom
Definition: printfun.hxx:192
bool bSavedStateRanges
Definition: printfun.hxx:201
bool bPrintAreaValid
Definition: printfun.hxx:191
tools::Long nTabPages
Definition: printfun.hxx:195
SCROW nEndRow
Definition: printfun.hxx:190
tools::Long nPageStart
Definition: printfun.hxx:197
size_t nPagesY
Definition: printfun.hxx:194
SCCOL nEndCol
Definition: printfun.hxx:189
sc::PrintPageRangesInput aPrintPageRangesInput
Definition: printfun.hxx:202
size_t nPagesX
Definition: printfun.hxx:193
SCTAB nPrintTab
Definition: printfun.hxx:186
size_t nTotalY
Definition: printfun.hxx:203
tools::Long nDocPages
Definition: printfun.hxx:198
std::shared_ptr< std::map< size_t, ScPageRowEntry > > xPageRows
Definition: printfun.hxx:207
SCROW nStartRow
Definition: printfun.hxx:188
std::shared_ptr< std::vector< SCCOL > > xPageEndX
Definition: printfun.hxx:205
tools::Long nTotalPages
Definition: printfun.hxx:196
SCCOL nStartCol
Definition: printfun.hxx:187
SCROW getStartRow() const
Definition: printfun.hxx:137
PrintPageRangesInput & operator=(PrintPageRangesInput const &rInput)
Definition: printfun.hxx:127
SCCOL getEndColumn() const
Definition: printfun.hxx:152
SCTAB getPrintTab() const
Definition: printfun.hxx:157
SCROW getEndRow() const
Definition: printfun.hxx:142
SCCOL getStartColumn() const
Definition: printfun.hxx:147
bool operator==(PrintPageRangesInput const &rInput) const
Definition: printfun.hxx:118
PrintPageRangesInput(bool bSkipEmpty, bool bPrintArea, ScRange const &rRange, Size const &rDocSize)
Definition: printfun.hxx:111
sal_Int16 SCTAB
Definition: types.hxx:22
sal_Int16 SCCOL
Definition: types.hxx:21
sal_Int32 SCROW
Definition: types.hxx:17