diff options
author | Michael Stahl <mstahl@redhat.com> | 2012-01-28 20:57:58 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-01-28 20:57:58 +0100 |
commit | 32835b23716bb48eb6457dd8bbda235eda6a9968 (patch) | |
tree | 9e9f67205cd5b72f1031721273e1534a3a1e5b0f /sw/source/core/view/viewpg.cxx | |
parent | ba7c4b7bde85c5eb34ab64698dc9b7df88762319 (diff) |
replace obsolete "master" branch with README that points at new repoHEADmaster-deletedmaster
Diffstat (limited to 'sw/source/core/view/viewpg.cxx')
-rw-r--r-- | sw/source/core/view/viewpg.cxx | 247 |
1 files changed, 0 insertions, 247 deletions
diff --git a/sw/source/core/view/viewpg.cxx b/sw/source/core/view/viewpg.cxx deleted file mode 100644 index 95d60ebbba..0000000000 --- a/sw/source/core/view/viewpg.cxx +++ /dev/null @@ -1,247 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_sw.hxx" - -#include <com/sun/star/uno/Sequence.hxx> - -#include <hintids.hxx> -#include <vcl/window.hxx> -#include <vcl/oldprintadaptor.hxx> -#include <sfx2/printer.hxx> -#include <sfx2/progress.hxx> -#include <pvprtdat.hxx> -#include <viewsh.hxx> -#include <pagefrm.hxx> -#include <rootfrm.hxx> -#include <viewimp.hxx> -#include <viewopt.hxx> -#include <printdata.hxx> -#include <fldbas.hxx> -#include <ptqueue.hxx> -#include <swregion.hxx> -#include <hints.hxx> -#include <fntcache.hxx> - -#include <statstr.hrc> // Text fuer SfxProgress -#include <comcore.hrc> - -#include <IDocumentFieldsAccess.hxx> -#include <IDocumentDeviceAccess.hxx> - - -using namespace ::com::sun::star; - - -SwPagePreviewLayout* ViewShell::PagePreviewLayout() -{ - return Imp()->PagePreviewLayout(); -} - -void ViewShell::ShowPreViewSelection( sal_uInt16 nSelPage ) -{ - Imp()->InvalidateAccessiblePreViewSelection( nSelPage ); -} - -//#i6467# adjust view options for page preview -void ViewShell::AdjustOptionsForPagePreview(SwPrintData const& rPrintOptions) -{ - if ( !IsPreView() ) - { - OSL_FAIL( "view shell doesn't belongs to a page preview - no adjustment of its view options"); - return; - } - - PrepareForPrint( rPrintOptions ); - - return; -} - -//#i14016# - consider empty pages on calculation of the scaling for a page to be printed. -void ViewShell::PrintProspect( - OutputDevice *pOutDev, - const SwPrintData &rPrintData, - sal_Int32 nRenderer // the index in the vector of prospect pages to be printed - ) -{ - const sal_Int32 nMaxRenderer = rPrintData.GetRenderData().GetPagePairsForProspectPrinting().size() - 1; -#if OSL_DEBUG_LEVEL > 1 - OSL_ENSURE( 0 <= nRenderer && nRenderer <= nMaxRenderer, "nRenderer out of bounds"); -#endif - Printer *pPrinter = dynamic_cast< Printer * >(pOutDev); - if (!pPrinter || nMaxRenderer < 0 || nRenderer < 0 || nRenderer > nMaxRenderer) - return; - - // save settings of OutputDevice (should be done always since the - // output device is now provided by a call from outside the Writer) - pPrinter->Push(); - - std::pair< sal_Int32, sal_Int32 > rPagesToPrint = - rPrintData.GetRenderData().GetPagePairsForProspectPrinting()[ nRenderer ]; -#if OSL_DEBUG_LEVEL > 1 - OSL_ENSURE( rPagesToPrint.first == -1 || rPrintData.GetRenderData().GetValidPagesSet().count( rPagesToPrint.first ) == 1, "first Page not valid" ); - OSL_ENSURE( rPagesToPrint.second == -1 || rPrintData.GetRenderData().GetValidPagesSet().count( rPagesToPrint.second ) == 1, "second Page not valid" ); -#endif - - // create a new shell for the Printer - ViewShell aShell( *this, 0, pPrinter ); - - SET_CURR_SHELL( &aShell ); - - aShell.PrepareForPrint( rPrintData ); - - //!! applying view options and formatting the dcoument should now only be done in getRendererCount! - - MapMode aMapMode( MAP_TWIP ); - Size aPrtSize( pPrinter->PixelToLogic( pPrinter->GetPaperSizePixel(), aMapMode ) ); - - SwTwips nMaxRowSz, nMaxColSz; - - const SwPageFrm *pStPage = 0; - const SwPageFrm *pNxtPage = 0; - const SwRenderData::ValidStartFramesMap_t &rFrms = rPrintData.GetRenderData().GetValidStartFrames(); - if (rPagesToPrint.first > 0) - { - SwRenderData::ValidStartFramesMap_t::const_iterator aIt( rFrms.find( rPagesToPrint.first ) ); - OSL_ENSURE( aIt != rFrms.end(), "failed to find start frame" ); - pStPage = aIt->second; - } - if (rPagesToPrint.second > 0) - { - SwRenderData::ValidStartFramesMap_t::const_iterator aIt( rFrms.find( rPagesToPrint.second ) ); - OSL_ENSURE( aIt != rFrms.end(), "failed to find start frame" ); - pNxtPage = aIt->second; - } - - //#i14016# - consider empty pages on calculation of page size, used for calculation of scaling. - Size aSttPageSize; - if ( pStPage ) - { - if ( pStPage->IsEmptyPage() ) - { - if ( pStPage->GetPhyPageNum() % 2 == 0 ) - aSttPageSize = pStPage->GetPrev()->Frm().SSize(); - else - aSttPageSize = pStPage->GetNext()->Frm().SSize(); - } - else - { - aSttPageSize = pStPage->Frm().SSize(); - } - } - Size aNxtPageSize; - if ( pNxtPage ) - { - if ( pNxtPage->IsEmptyPage() ) - { - if ( pNxtPage->GetPhyPageNum() % 2 == 0 ) - aNxtPageSize = pNxtPage->GetPrev()->Frm().SSize(); - else - aNxtPageSize = pNxtPage->GetNext()->Frm().SSize(); - } - else - { - aNxtPageSize = pNxtPage->Frm().SSize(); - } - } - - if( !pStPage ) - { - nMaxColSz = 2 * aNxtPageSize.Width(); - nMaxRowSz = aNxtPageSize.Height(); - } - else if( !pNxtPage ) - { - nMaxColSz = 2 * aSttPageSize.Width(); - nMaxRowSz = aSttPageSize.Height(); - } - else - { - nMaxColSz = aNxtPageSize.Width() + aSttPageSize.Width(); - nMaxRowSz = Max( aNxtPageSize.Height(), aSttPageSize.Height() ); - } - - aMapMode.SetOrigin( Point() ); - { - Fraction aScX( aPrtSize.Width(), nMaxColSz ); - Fraction aScY( aPrtSize.Height(), nMaxRowSz ); - if( aScX < aScY ) - aScY = aScX; - - { - aScY *= Fraction( 1000, 1 ); - long nTmp = (long)aScY; - if( 1 < nTmp ) - --nTmp; - else - nTmp = 1; - aScY = Fraction( nTmp, 1000 ); - } - - aMapMode.SetScaleY( aScY ); - aMapMode.SetScaleX( aScY ); - } - - Size aTmpPrtSize( pPrinter->PixelToLogic( pPrinter->GetPaperSizePixel(), aMapMode ) ); - - // calculate start point for equal border on all sides - Point aSttPt( (aTmpPrtSize.Width() - nMaxColSz) / 2, - (aTmpPrtSize.Height() - nMaxRowSz) / 2 ); - for( int nC = 0; nC < 2; ++nC ) - { - if( pStPage ) - { - aShell.Imp()->SetFirstVisPageInvalid(); - aShell.aVisArea = pStPage->Frm(); - - Point aPos( aSttPt ); - aPos -= aShell.aVisArea.Pos(); -// aPos -= aPrtOff; - aMapMode.SetOrigin( aPos ); - pPrinter->SetMapMode( aMapMode ); - pStPage->GetUpper()->Paint( pStPage->Frm() ); - } - - pStPage = pNxtPage; - aSttPt.X() += aTmpPrtSize.Width() / 2; - } - - SwPaintQueue::Repaint(); - - //!! applying/modifying view options and formatting the dcoument should now only be done in getRendererCount! - - pFntCache->Flush(); - - // restore settings of OutputDevice (should be done always now since the - // output device is now provided by a call from outside the Writer) - pPrinter->Pop(); -} - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |