diff options
author | Philipp Lohmann <pl@openoffice.org> | 2009-09-08 15:20:56 +0000 |
---|---|---|
committer | Philipp Lohmann <pl@openoffice.org> | 2009-09-08 15:20:56 +0000 |
commit | da62b0feb684b34ab191fb0f03ed5432c14cba97 (patch) | |
tree | 3b050f2f7f53bfe5ea9bb843ad6a5348475b0bcb /vcl/source/gdi/print3.cxx | |
parent | eb7e3a297515f8f603c8372b4276d6a14c09ef40 (diff) |
#i104693# nearest paper matching
Diffstat (limited to 'vcl/source/gdi/print3.cxx')
-rw-r--r-- | vcl/source/gdi/print3.cxx | 8 |
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 ) { |