1 /* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
3 * This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef nsPrintSettingsWin_h__
8 #define nsPrintSettingsWin_h__
10 #include "nsPrintSettingsImpl.h"
11 #include "nsIPrintSettingsWin.h"
14 //*****************************************************************************
15 //*** nsPrintSettingsWin
16 //*****************************************************************************
17 class nsPrintSettingsWin
: public nsPrintSettings
, public nsIPrintSettingsWin
{
18 virtual ~nsPrintSettingsWin();
21 NS_DECL_ISUPPORTS_INHERITED
22 NS_DECL_NSIPRINTSETTINGSWIN
25 nsPrintSettingsWin(const nsPrintSettingsWin
& aPS
);
28 * @param aPaperSize the Windows dmPaperSize
29 * @param aPaperSizeUnit will be set to the nsIPrintSettings paper size unit
30 * associated with aPaperSize or left unchanged if
31 * aPaperSize is not recognized
33 static void PaperSizeUnitFromDmPaperSize(short aPaperSize
,
34 int16_t& aPaperSizeUnit
);
36 void InitWithInitializer(const PrintSettingsInitializer
& aSettings
) final
;
41 virtual nsresult
_Clone(nsIPrintSettings
** _retval
);
46 virtual nsresult
_Assign(nsIPrintSettings
* aPS
);
51 nsPrintSettingsWin
& operator=(const nsPrintSettingsWin
& rhs
);
54 void CopyDevMode(DEVMODEW
* aInDevMode
, DEVMODEW
*& aOutDevMode
);
55 void InitUnwriteableMargin(HDC aHdc
);
62 #endif /* nsPrintSettingsWin_h__ */