1 /* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- 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/. */ 6 7 #ifndef nsPrintSettingsWin_h__ 8 #define nsPrintSettingsWin_h__ 9 10 #include "nsPrintSettingsImpl.h" 11 #include "nsIPrintSettingsWin.h" 12 #include <windows.h> 13 14 //***************************************************************************** 15 //*** nsPrintSettingsWin 16 //***************************************************************************** 17 class nsPrintSettingsWin : public nsPrintSettings, public nsIPrintSettingsWin { 18 virtual ~nsPrintSettingsWin(); 19 20 public: 21 NS_DECL_ISUPPORTS_INHERITED 22 NS_DECL_NSIPRINTSETTINGSWIN 23 24 nsPrintSettingsWin(); 25 nsPrintSettingsWin(const nsPrintSettingsWin& aPS); 26 27 /** 28 * Makes a new copy 29 */ 30 virtual nsresult _Clone(nsIPrintSettings** _retval); 31 32 /** 33 * Assigns values 34 */ 35 virtual nsresult _Assign(nsIPrintSettings* aPS); 36 37 /** 38 * Assignment 39 */ 40 nsPrintSettingsWin& operator=(const nsPrintSettingsWin& rhs); 41 42 NS_IMETHOD GetEffectivePageSize(double* aWidth, double* aHeight) override; 43 44 protected: 45 void CopyDevMode(DEVMODEW* aInDevMode, DEVMODEW*& aOutDevMode); 46 47 nsString mDeviceName; 48 nsString mDriverName; 49 LPDEVMODEW mDevMode; 50 double mPrintableWidthInInches = 0l; 51 double mPrintableHeightInInches = 0l; 52 }; 53 54 #endif /* nsPrintSettingsWin_h__ */ 55