summaryrefslogtreecommitdiff
path: root/sc/source/ui/view/printfun.cxx
diff options
context:
space:
mode:
authorRüdiger Timm <rt@openoffice.org>2003-04-24 13:05:58 +0000
committerRüdiger Timm <rt@openoffice.org>2003-04-24 13:05:58 +0000
commite92992df352c7b73610615cb84ff2997d909d0f9 (patch)
tree3a135e0056089f72439b3e0bca903bc6998f1ef1 /sc/source/ui/view/printfun.cxx
parent061490a4729b45cadf48b9fdcfef759881622d79 (diff)
INTEGRATION: CWS mav4 (1.28.14); FILE MERGED
2003/04/15 15:46:55 mba 1.28.14.1: #108953#: support layout information through XRenderable
Diffstat (limited to 'sc/source/ui/view/printfun.cxx')
-rw-r--r--sc/source/ui/view/printfun.cxx25
1 files changed, 20 insertions, 5 deletions
diff --git a/sc/source/ui/view/printfun.cxx b/sc/source/ui/view/printfun.cxx
index c36d7589c063..fbb48c17c699 100644
--- a/sc/source/ui/view/printfun.cxx
+++ b/sc/source/ui/view/printfun.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: printfun.cxx,v $
*
- * $Revision: 1.28 $
+ * $Revision: 1.29 $
*
- * last change: $Author: hr $ $Date: 2003-03-26 18:06:49 $
+ * last change: $Author: rt $ $Date: 2003-04-24 14:05:58 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -293,7 +293,8 @@ ScPrintFunc::ScPrintFunc( ScDocShell* pShell, SfxPrinter* pNewPrinter, USHORT nT
nTabPages ( 0 ),
bState ( FALSE ),
bPrintCurrentTable ( FALSE ),
- bMultiArea ( FALSE )
+ bMultiArea ( FALSE ),
+ bSourceRangeValid ( FALSE )
{
pDev = pPrinter;
aSrcOffset = pPrinter->PixelToLogic( pPrinter->GetPageOffsetPixel(), MAP_100TH_MM );
@@ -315,7 +316,8 @@ ScPrintFunc::ScPrintFunc( OutputDevice* pOutDev, ScDocShell* pShell, USHORT nTab
nTabPages ( 0 ),
bState ( FALSE ),
bPrintCurrentTable ( FALSE ),
- bMultiArea ( FALSE )
+ bMultiArea ( FALSE ),
+ bSourceRangeValid ( FALSE )
{
pDev = pOutDev;
Construct( pOptions );
@@ -329,7 +331,8 @@ ScPrintFunc::ScPrintFunc( OutputDevice* pOutDev, ScDocShell* pShell,
pUserArea ( NULL ),
pPageData ( NULL ),
bPrintCurrentTable ( FALSE ),
- bMultiArea ( FALSE )
+ bMultiArea ( FALSE ),
+ bSourceRangeValid ( FALSE )
{
pDev = pOutDev;
@@ -366,6 +369,12 @@ void ScPrintFunc::GetPrintState( ScPrintState& rState )
rState.nDocPages = nDocPages;
}
+BOOL ScPrintFunc::GetLastSourceRange( ScRange& rRange ) const
+{
+ rRange = aLastSourceRange;
+ return bSourceRangeValid;
+}
+
void ScPrintFunc::FillPageData()
{
if (pPageData)
@@ -2309,6 +2318,9 @@ void ScPrintFunc::PrintPage( long nPageNo, USHORT nX1, USHORT nY1, USHORT nX2, U
if ( pPrinter && bDoPrint )
pPrinter->EndPage();
+
+ aLastSourceRange = ScRange( nX1, nY1, nPrintTab, nX2, nY2, nPrintTab );
+ bSourceRangeValid = TRUE;
}
void ScPrintFunc::SetOffset( const Point& rOfs )
@@ -2704,7 +2716,10 @@ long ScPrintFunc::DoPrint( const MultiSelection& rPageRanges,
pProgress->Reschedule(); //Mag der Anwender noch oder hat er genug?
}
if (bPageSelected)
+ {
++nPrinted;
+ bSourceRangeValid = FALSE; // last page was no cell range
+ }
++nPageNo;
}
}