fune/widget/windows/nsPrintSettingsWin.h
Bob Owen c6fa9e48a9 Bug 1663940: Ensure the unwriteable margins are populated in the print settings. r=emilio
This updates the settings with the correct paper ID as well.
It also removes the printable size fields from the Windows settings now that
unwriteable margins are being used consistently.

Differential Revision: https://phabricator.services.mozilla.com/D89911
2020-09-11 15:00:18 +00:00

53 lines
1.4 KiB
C++

/* -*- Mode: IDL; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#ifndef nsPrintSettingsWin_h__
#define nsPrintSettingsWin_h__
#include "nsPrintSettingsImpl.h"
#include "nsIPrintSettingsWin.h"
#include <windows.h>
//*****************************************************************************
//*** nsPrintSettingsWin
//*****************************************************************************
class nsPrintSettingsWin : public nsPrintSettings, public nsIPrintSettingsWin {
virtual ~nsPrintSettingsWin();
public:
NS_DECL_ISUPPORTS_INHERITED
NS_DECL_NSIPRINTSETTINGSWIN
nsPrintSettingsWin();
nsPrintSettingsWin(const nsPrintSettingsWin& aPS);
void InitWithInitializer(const PrintSettingsInitializer& aSettings) final;
/**
* Makes a new copy
*/
virtual nsresult _Clone(nsIPrintSettings** _retval);
/**
* Assigns values
*/
virtual nsresult _Assign(nsIPrintSettings* aPS);
/**
* Assignment
*/
nsPrintSettingsWin& operator=(const nsPrintSettingsWin& rhs);
protected:
void CopyDevMode(DEVMODEW* aInDevMode, DEVMODEW*& aOutDevMode);
void InitUnwriteableMargin(HDC aHdc);
nsString mDeviceName;
nsString mDriverName;
LPDEVMODEW mDevMode;
};
#endif /* nsPrintSettingsWin_h__ */