summaryrefslogtreecommitdiff
path: root/vcl/source/gdi/print3.cxx
diff options
context:
space:
mode:
authorPhilipp Lohmann <pl@openoffice.org>2009-09-08 15:20:56 +0000
committerPhilipp Lohmann <pl@openoffice.org>2009-09-08 15:20:56 +0000
commitda62b0feb684b34ab191fb0f03ed5432c14cba97 (patch)
tree3b050f2f7f53bfe5ea9bb843ad6a5348475b0bcb /vcl/source/gdi/print3.cxx
parenteb7e3a297515f8f603c8372b4276d6a14c09ef40 (diff)
#i104693# nearest paper matching
Diffstat (limited to 'vcl/source/gdi/print3.cxx')
-rw-r--r--vcl/source/gdi/print3.cxx8
1 files changed, 5 insertions, 3 deletions
diff --git a/vcl/source/gdi/print3.cxx b/vcl/source/gdi/print3.cxx
index 88006a845936..f8bf4aa6df80 100644
--- a/vcl/source/gdi/print3.cxx
+++ b/vcl/source/gdi/print3.cxx
@@ -191,6 +191,8 @@ public:
return maMultiPage.aPaperSize;
return i_rPageSize;
}
+ bool isFixedPageSize() const
+ { return maFixedPageSize.Width() != 0 && maFixedPageSize.Height() != 0; }
PrinterController::PageSize modifyJobSetup( const Sequence< PropertyValue >& i_rProps );
};
@@ -612,7 +614,7 @@ PrinterController::PageSize vcl::ImplPrinterControllerData::modifyJobSetup( cons
Size aCurSize( mpPrinter->GetPaperSize() );
Size aRealPaperSize( getRealPaperSize( aPageSize.aSize ) );
if( aRealPaperSize != aCurSize )
- mpPrinter->SetPaperSizeUser( aRealPaperSize );
+ mpPrinter->SetPaperSizeUser( aRealPaperSize, ! isFixedPageSize() );
}
if( i_rProps[ nProperty ].Name.equalsAscii( "PageIncludesNonprintableArea" ) )
{
@@ -854,7 +856,7 @@ PrinterController::PageSize PrinterController::getFilteredPageFile( int i_nFilte
o_rMtf.WindStart();
mpImplData->mpPrinter->SetMapMode( MapMode( MAP_100TH_MM ) );
- mpImplData->mpPrinter->SetPaperSizeUser( aPaperSize );
+ mpImplData->mpPrinter->SetPaperSizeUser( aPaperSize, ! mpImplData->isFixedPageSize() );
return PrinterController::PageSize( aPaperSize );
}
@@ -941,7 +943,7 @@ void PrinterController::printFilteredPage( int i_nPage )
// in N-Up printing set the correct page size
mpImplData->mpPrinter->SetMapMode( MAP_100TH_MM );
// aPageSize was filtered through mpImplData->getRealPaperSize already by getFilteredPageFile()
- mpImplData->mpPrinter->SetPaperSizeUser( aPageSize.aSize );
+ mpImplData->mpPrinter->SetPaperSizeUser( aPageSize.aSize, ! mpImplData->isFixedPageSize() );
// if full paper are is meant, move the output to accomodate for pageoffset
if( aPageSize.bFullPaper )
{