1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 #ifndef nsDeviceContextSpecX_h_ 7 #define nsDeviceContextSpecX_h_ 8 9 #include "nsIDeviceContextSpec.h" 10 11 #include <ApplicationServices/ApplicationServices.h> 12 13 class nsDeviceContextSpecX : public nsIDeviceContextSpec 14 { 15 public: 16 NS_DECL_ISUPPORTS 17 18 nsDeviceContextSpecX(); 19 20 NS_IMETHOD Init(nsIWidget *aWidget, nsIPrintSettings* aPS, bool aIsPrintPreview) override; 21 virtual already_AddRefed<PrintTarget> MakePrintTarget() final; 22 NS_IMETHOD BeginDocument(const nsAString& aTitle, 23 const nsAString& aPrintToFileName, 24 int32_t aStartPage, 25 int32_t aEndPage) override; 26 NS_IMETHOD EndDocument() override; 27 NS_IMETHOD BeginPage() override; 28 NS_IMETHOD EndPage() override; 29 30 void GetPaperRect(double* aTop, double* aLeft, double* aBottom, double* aRight); 31 32 protected: 33 virtual ~nsDeviceContextSpecX(); 34 35 protected: 36 PMPrintSession mPrintSession; // printing context. 37 PMPageFormat mPageFormat; // page format. 38 PMPrintSettings mPrintSettings; // print settings. 39 }; 40 41 #endif //nsDeviceContextSpecX_h_ 42