2007-04-11 15:05:08 +00:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
2008-04-10 18:56:52 +00:00
|
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
2007-04-11 15:05:08 +00:00
|
|
|
*
|
2008-04-10 18:56:52 +00:00
|
|
|
* Copyright 2008 by Sun Microsystems, Inc.
|
2007-04-11 15:05:08 +00:00
|
|
|
*
|
2008-04-10 18:56:52 +00:00
|
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
2007-04-11 15:05:08 +00:00
|
|
|
*
|
2008-04-10 18:56:52 +00:00
|
|
|
* $RCSfile: paperinf.hxx,v $
|
|
|
|
* $Revision: 1.3 $
|
2007-04-11 15:05:08 +00:00
|
|
|
*
|
2008-04-10 18:56:52 +00:00
|
|
|
* This file is part of OpenOffice.org.
|
2007-04-11 15:05:08 +00:00
|
|
|
*
|
2008-04-10 18:56:52 +00:00
|
|
|
* 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.
|
2007-04-11 15:05:08 +00:00
|
|
|
*
|
2008-04-10 18:56:52 +00:00
|
|
|
* 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).
|
2007-04-11 15:05:08 +00:00
|
|
|
*
|
2008-04-10 18:56:52 +00:00
|
|
|
* 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.
|
2007-04-11 15:05:08 +00:00
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
#ifndef _SVX_PAPERINF_HXX
|
|
|
|
#define _SVX_PAPERINF_HXX
|
|
|
|
|
|
|
|
// INCLUDE ---------------------------------------------------------------
|
|
|
|
|
|
|
|
#ifndef _PRINT_HXX //autogen
|
|
|
|
#include <vcl/print.hxx>
|
|
|
|
#endif
|
|
|
|
#ifndef _MAPMOD_HXX //autogen
|
|
|
|
#include <vcl/mapmod.hxx>
|
|
|
|
#endif
|
|
|
|
#include <svx/svxenum.hxx>
|
|
|
|
#include "svx/svxdllapi.h"
|
|
|
|
|
|
|
|
// forward ---------------------------------------------------------------
|
|
|
|
|
|
|
|
class Printer;
|
|
|
|
class Size;
|
|
|
|
class String;
|
|
|
|
|
|
|
|
// class SvxPaperInfo -----------------------------------------------------
|
|
|
|
|
|
|
|
class SVX_DLLPUBLIC SvxPaperInfo
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
static Size GetPaperSize( const Printer* );
|
|
|
|
static Size GetPaperSize( SvxPaper ePaper,
|
|
|
|
MapUnit eUnit = MAP_TWIP );
|
|
|
|
// entfaellt demnaechst
|
|
|
|
static SvxPaper GetPaper( const Size&, MapUnit eUnit = MAP_TWIP,
|
|
|
|
BOOL bSloppy = FALSE );
|
|
|
|
// dann nur noch diese beiden
|
|
|
|
static SvxPaper GetSvxPaper( const Size&, MapUnit eUnit = MAP_TWIP,
|
|
|
|
BOOL bSloppy = FALSE );
|
|
|
|
static SvxPaper GetDefaultSvxPaper( LanguageType eLanguage );
|
|
|
|
static Paper GetSvPaper( const Size&, MapUnit eUnit = MAP_TWIP,
|
|
|
|
BOOL bSloppy = FALSE );
|
|
|
|
static String GetName( SvxPaper ePaper );
|
|
|
|
};
|
|
|
|
|
|
|
|
// INLINE -----------------------------------------------------------------
|
|
|
|
|
|
|
|
inline Size &Swap(Size &rSize)
|
|
|
|
{
|
|
|
|
const long lVal = rSize.Width();
|
|
|
|
rSize.Width() = rSize.Height();
|
|
|
|
rSize.Height() = lVal;
|
|
|
|
return rSize;
|
|
|
|
}
|
|
|
|
|
|
|
|
inline Size &LandscapeSwap(Size &rSize)
|
|
|
|
{
|
|
|
|
if ( rSize.Height() > rSize.Width() )
|
|
|
|
Swap( rSize );
|
|
|
|
return rSize;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Masze f"ur Standard- Papiergr"ossen:
|
|
|
|
// Berechnungsformel: X twips = Y mm * 14400 / 254 (ungerundet!)
|
|
|
|
|
|
|
|
const long lA0Width = 47678; // A0 841mm
|
|
|
|
const long lA0Height = 67407; // A0 1189mm
|
|
|
|
const long lA1Width = 33675; // A1 594mm
|
|
|
|
const long lA1Height = lA0Width; // A1
|
|
|
|
const long lA2Width = 23811; // A2 420mm
|
|
|
|
const long lA2Height = lA1Width; // A2
|
|
|
|
const long lA3Width = 16837; // A3 297mm
|
|
|
|
const long lA3Height = lA2Width; // A3 420mm
|
|
|
|
const long lA4Width = 11905; // A4 210mm
|
|
|
|
const long lA4Height = lA3Width; // A4
|
|
|
|
const long lA5Width = 8390; // A5 148mm
|
|
|
|
const long lA5Height = lA4Width; // A5
|
|
|
|
|
|
|
|
const long lB4Width = 14173; // B4 250mm
|
|
|
|
const long lB4Height = 20012; // B4 353mm
|
|
|
|
const long lB5Width = 9977; // B5 176mm
|
|
|
|
const long lB5Height = lB4Width; // B5
|
|
|
|
const long lB6Width = 7086;
|
|
|
|
const long lB6Height = lB5Width;
|
|
|
|
|
|
|
|
const long lC4Width = 12983;
|
|
|
|
const long lC4Height = 18368;
|
|
|
|
const long lC5Width = 9184;
|
|
|
|
const long lC5Height = lC4Width;
|
|
|
|
const long lC6Width = 6463;
|
|
|
|
const long lC6Height = lC5Width;
|
|
|
|
const long lC65Width = 6463;
|
|
|
|
const long lC65Height = 12870;
|
|
|
|
const long lDLWidth = 6236;
|
|
|
|
const long lDLHeight = 12472;
|
|
|
|
|
|
|
|
const long lJISB4Width = 14570;
|
|
|
|
const long lJISB4Height = 20636;
|
|
|
|
const long lJISB5Width = 10318;
|
|
|
|
const long lJISB5Height = lJISB4Width;
|
|
|
|
const long lJISB6Width = 7256;
|
|
|
|
const long lJISB6Height = lJISB5Width;
|
|
|
|
|
|
|
|
// Die folgenden Daten stammen vom WinWord und sind noch
|
|
|
|
// nicht nach der obigen Formel,
|
|
|
|
// sondern per 1cm = 567 twips oder 1 Zoll = 1440 twips berechnet worden:
|
|
|
|
|
|
|
|
const long lLetterWidth = 12240; // LETTER
|
|
|
|
const long lLetterHeight = 15840; // LETTER
|
|
|
|
const long lLegalWidth = lLetterWidth; // LEGAL
|
|
|
|
const long lLegalHeight = 20163; // LEGAL
|
|
|
|
const long lTabloidWidth = 15850; // TABLOID
|
|
|
|
const long lTabloidHeight = 24450; // TABLOID
|
|
|
|
|
|
|
|
const long lDiaWidth = 10206; // DIA
|
|
|
|
const long lDiaHeight = 15309; // DIA
|
|
|
|
const long lScreenWidth = 11905; // SCREEN
|
|
|
|
const long lScreenHeight = 15874; // SCREEN
|
|
|
|
|
|
|
|
const long lAWidth = 12240; // A 8,5 Zoll
|
|
|
|
const long lAHeight = 15840; // A 11 Zoll
|
|
|
|
const long lBWidth = lAHeight; // B
|
|
|
|
const long lBHeight = 24480; // B 17 Zoll
|
|
|
|
const long lCWidth = lBHeight; // C
|
|
|
|
const long lCHeight = 31680; // C 22 Zoll
|
|
|
|
const long lDWidth = lCHeight; // D
|
|
|
|
const long lDHeight = 48960; // D 34 Zoll
|
|
|
|
const long lEWidth = lDHeight; // E
|
|
|
|
const long lEHeight = 63360; // E 44 Zoll
|
|
|
|
|
|
|
|
const long lExeWidth = 10440; // Executive 7,25 Zoll
|
|
|
|
const long lExeHeight = 15120; // Executive 10,5 Zoll
|
|
|
|
const long lLegal2Width = 12240; // Legal2 8,5 Zoll
|
|
|
|
const long lLegal2Height = 18720; // Legal2 13 Zoll
|
|
|
|
const long lCom675Width = 5220; // COM-6 3/4 3,625 Zoll
|
|
|
|
const long lCom675Height = 9360; // COM-6 3/4 6,5 Zoll
|
|
|
|
const long lCom9Width = 5580; // COM-9 3,875 Zoll
|
|
|
|
const long lCom9Height = 12780; // COM-9 8,875 Zoll
|
|
|
|
const long lCom10Width = 5940; // COM-10 4,125 Zoll
|
|
|
|
const long lCom10Height = 13680; // COM-10 9,5 Zoll
|
|
|
|
const long lCom11Width = 6480; // COM-11 4,5 Zoll
|
|
|
|
const long lCom11Height = 14940; // COM-11 10,375 Zoll
|
|
|
|
const long lCom12Width = 6840; // COM-12 4,75 Zoll
|
|
|
|
const long lCom12Height = lAHeight; // COM-12 11 Zoll
|
|
|
|
const long lMonarchWidth = lCom9Width; // Monarch 3,875 Zoll
|
|
|
|
const long lMonarchHeight = 10800; // Monarch 7,5 Zoll
|
|
|
|
|
|
|
|
const long lKai16Width = 10433; // 16 kai 18,4 cm
|
|
|
|
const long lKai16Height = 14742; // 16 kai 26 cm
|
|
|
|
const long lKai32Width = 7371; // 32 kai 13 cm
|
|
|
|
const long lKai32Height = lKai16Width; // 32 kai 18,4 cm
|
|
|
|
const long lKai32BigWidth = 7938; // 32 kai gross 14 cm
|
|
|
|
const long lKai32BigHeight = 11510; // 32 kai gross 20,3 cm
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|