1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
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 nsPrintDialog_h__
7 #define nsPrintDialog_h__
8 
9 #include "nsIPrintDialogService.h"
10 
11 class nsIPrintSettings;
12 
13 // Copy the print pages enum here because not all versions
14 // have SELECTION, which we will use
15 typedef enum {
16   _GTK_PRINT_PAGES_ALL,
17   _GTK_PRINT_PAGES_CURRENT,
18   _GTK_PRINT_PAGES_RANGES,
19   _GTK_PRINT_PAGES_SELECTION
20 } _GtkPrintPages;
21 
22 class nsPrintDialogServiceGTK : public nsIPrintDialogService {
23   virtual ~nsPrintDialogServiceGTK();
24 
25  public:
26   nsPrintDialogServiceGTK();
27 
28   NS_DECL_ISUPPORTS
29 
30   NS_IMETHOD Init() override;
31   NS_IMETHOD Show(nsPIDOMWindowOuter* aParent,
32                   nsIPrintSettings* aSettings) override;
33   NS_IMETHOD ShowPageSetup(nsPIDOMWindowOuter* aParent,
34                            nsIPrintSettings* aSettings) override;
35 };
36 
37 #endif
38