michael@0: /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #ifndef nsDeviceContextSpecX_h_ michael@0: #define nsDeviceContextSpecX_h_ michael@0: michael@0: #include "nsIDeviceContextSpec.h" michael@0: michael@0: #include michael@0: michael@0: class nsDeviceContextSpecX : public nsIDeviceContextSpec michael@0: { michael@0: public: michael@0: NS_DECL_ISUPPORTS michael@0: michael@0: nsDeviceContextSpecX(); michael@0: michael@0: NS_IMETHOD Init(nsIWidget *aWidget, nsIPrintSettings* aPS, bool aIsPrintPreview); michael@0: NS_IMETHOD GetSurfaceForPrinter(gfxASurface **surface); michael@0: NS_IMETHOD BeginDocument(const nsAString& aTitle, michael@0: char16_t* aPrintToFileName, michael@0: int32_t aStartPage, michael@0: int32_t aEndPage); michael@0: NS_IMETHOD EndDocument(); michael@0: NS_IMETHOD BeginPage(); michael@0: NS_IMETHOD EndPage(); michael@0: michael@0: void GetPaperRect(double* aTop, double* aLeft, double* aBottom, double* aRight); michael@0: michael@0: protected: michael@0: virtual ~nsDeviceContextSpecX(); michael@0: michael@0: protected: michael@0: PMPrintSession mPrintSession; // printing context. michael@0: PMPageFormat mPageFormat; // page format. michael@0: PMPrintSettings mPrintSettings; // print settings. michael@0: }; michael@0: michael@0: #endif //nsDeviceContextSpecX_h_