1
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* ***** BEGIN LICENSE BLOCK *****
3
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
5
* The contents of this file are subject to the Netscape Public License
6
* Version 1.1 (the "License"); you may not use this file except in
7
* compliance with the License. You may obtain a copy of the License at
8
* http://www.mozilla.org/NPL/
10
* Software distributed under the License is distributed on an "AS IS" basis,
11
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12
* for the specific language governing rights and limitations under the
15
* The Original Code is mozilla.org code.
17
* The Initial Developer of the Original Code is
18
* Netscape Communications Corporation.
19
* Portions created by the Initial Developer are Copyright (C) 1998
20
* the Initial Developer. All Rights Reserved.
23
* Roland Mainz <roland.mainz@informatik.med.uni-giessen.de>
26
* Alternatively, the contents of this file may be used under the terms of
27
* either the GNU General Public License Version 2 or later (the "GPL"), or
28
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
29
* in which case the provisions of the GPL or the LGPL are applicable instead
30
* of those above. If you wish to allow use of your version of this file only
31
* under the terms of either the GPL or the LGPL, and not to allow others to
32
* use your version of this file under the terms of the NPL, indicate your
33
* decision by deleting the provisions above and replace them with the notice
34
* and other provisions required by the GPL or the LGPL. If you do not delete
35
* the provisions above, a recipient may use your version of this file under
36
* the terms of any one of the NPL, the GPL or the LGPL.
38
* ***** END LICENSE BLOCK ***** */
40
#ifndef nsDeviceContextSpecB_h___
41
#define nsDeviceContextSpecB_h___
44
#include "nsIDeviceContextSpec.h"
45
#include "nsDeviceContextSpecB.h"
46
#include "nsVoidArray.h"
48
#include "nsIDeviceContextSpecPS.h"
49
#endif /* USE_POSTSCRIPT */
50
#include "nsIPrintSettings.h"
51
#include "nsIPrintOptions.h"
53
#include "nsPrintdBeOS.h"
55
class nsDeviceContextSpecBeOS : public nsIDeviceContextSpec
57
, public nsIDeviceContextSpecPS
62
* Construct a nsDeviceContextSpecMac, which is an object which contains and manages a mac printrecord
65
nsDeviceContextSpecBeOS();
70
* Initialize the nsDeviceContextSpecBeOS for use. This will allocate a printrecord for use
72
* @param aIsPrintPreview if PR_TRUE, creating Spec for PrintPreview
73
* @return error status
75
NS_IMETHOD Init(nsIPrintSettings* aPS);
79
* Closes the printmanager if it is open.
81
* @return error status
83
NS_IMETHOD ClosePrintManager();
85
NS_IMETHOD GetPageSizeInTwips(PRInt32 *aWidth, PRInt32 *aHeight);
87
NS_IMETHOD GetToPrinter( PRBool &aToPrinter );
89
NS_IMETHOD GetPrinterName ( const char **aPrinter );
91
NS_IMETHOD GetCopies ( int &aCopies );
93
NS_IMETHOD GetFirstPageFirst ( PRBool &aFpf );
95
NS_IMETHOD GetGrayscale( PRBool &aGrayscale );
97
NS_IMETHOD GetSize ( int &aSize );
99
NS_IMETHOD GetTopMargin ( float &value );
101
NS_IMETHOD GetBottomMargin ( float &value );
103
NS_IMETHOD GetLeftMargin ( float &value );
105
NS_IMETHOD GetRightMargin ( float &value );
107
NS_IMETHOD GetCommand ( const char **aCommand );
109
NS_IMETHOD GetPath ( const char **aPath );
111
NS_IMETHOD GetPageDimensions (float &aWidth, float &aHeight );
113
NS_IMETHOD GetLandscape (PRBool &aLandscape);
115
NS_IMETHOD GetUserCancelled( PRBool &aCancel );
118
* Destuct a nsDeviceContextSpecMac, this will release the printrecord
122
virtual ~nsDeviceContextSpecBeOS();
125
int InitializeGlobalPrinters();
126
void FreeGlobalPrinters();
130
nsCOMPtr<nsIPrintSettings> mPrintSettings;
133
//-------------------------------------------------------------------------
134
// Printer Enumerator
135
//-------------------------------------------------------------------------
136
class nsPrinterEnumeratorBeOS : public nsIPrinterEnumerator
139
nsPrinterEnumeratorBeOS();
141
NS_DECL_NSIPRINTERENUMERATOR