diff --git a/mozilla/widget/src/beos/Makefile.in b/mozilla/widget/src/beos/Makefile.in index fb79c11de59..320f2f7abf0 100644 --- a/mozilla/widget/src/beos/Makefile.in +++ b/mozilla/widget/src/beos/Makefile.in @@ -83,6 +83,9 @@ CPPSRCS = \ nsWindow.cpp \ nsScreenBeOS.cpp \ nsScreenManagerBeOS.cpp \ + nsDeviceContextSpecFactoryB.cpp \ + nsDeviceContextSpecB.cpp \ + nsPrintOptionsBeOS.cpp \ $(NULL) SHARED_LIBRARY_LIBS = $(DIST)/lib/libxpwidgets_s.a diff --git a/mozilla/widget/src/beos/nsPrintdBeOS.h b/mozilla/widget/src/beos/nsPrintdBeOS.h new file mode 100644 index 00000000000..dff61817d72 --- /dev/null +++ b/mozilla/widget/src/beos/nsPrintdBeOS.h @@ -0,0 +1,90 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* ***** BEGIN LICENSE BLOCK ***** + * Version: MPL 1.1/GPL 2.0/LGPL 2.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is mozilla.org code. + * + * The Initial Developer of the Original Code is + * Netscape Communications Corporation. + * Portions created by the Initial Developer are Copyright (C) 1998 + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Alternatively, the contents of this file may be used under the terms of + * either of the GNU General Public License Version 2 or later (the "GPL"), + * or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), + * in which case the provisions of the GPL or the LGPL are applicable instead + * of those above. If you wish to allow use of your version of this file only + * under the terms of either the GPL or the LGPL, and not to allow others to + * use your version of this file under the terms of the MPL, indicate your + * decision by deleting the provisions above and replace them with the notice + * and other provisions required by the GPL or the LGPL. If you do not delete + * the provisions above, a recipient may use your version of this file under + * the terms of any one of the MPL, the GPL or the LGPL. + * + * ***** END LICENSE BLOCK ***** */ + +/* Original Code: Syd Logan (syd@netscape.com) 3/12/99 */ + +#ifndef nsPrintdBeOS_h___ +#define nsPrintdBeOS_h___ + +#include + +PR_BEGIN_EXTERN_C + +/* stolen from nsPostScriptObj.h. needs to be put somewhere else that + both ps and gtk can see easily */ + +#ifndef NS_LEGAL_SIZE +#define NS_LETTER_SIZE 0 +#define NS_LEGAL_SIZE 1 +#define NS_EXECUTIVE_SIZE 2 +#define NS_A4_SIZE 3 +#define NS_A3_SIZE 4 + +#define NS_PORTRAIT 0 +#define NS_LANDSCAPE 1 +#endif + +#ifndef PATH_MAX +#ifdef _POSIX_PATH_MAX +#define PATH_MAX _POSIX_PATH_MAX +#else +#define PATH_MAX 256 +#endif +#endif + +typedef struct beosprdata { + PRBool toPrinter; /* If PR_TRUE, print to printer */ + PRBool fpf; /* If PR_TRUE, first page first */ + PRBool grayscale; /* If PR_TRUE, print grayscale */ + int size; /* Paper size e.g., SizeLetter */ + int orientation; /* Page orientation, e.g. portrait */ + char command[ PATH_MAX ]; /* Print command e.g., lpr */ + char path[ PATH_MAX ]; /* If toPrinter = PR_FALSE, dest file */ + char printer[256]; /* Printer name */ + int copies; /* number of copies */ + PRBool cancel; /* If PR_TRUE, user cancelled */ + float left; /* left margin */ + float right; /* right margin */ + float top; /* top margin */ + float bottom; /* bottom margin */ +} BeOSPrData; + +//void BeOSPrDialog(UnixPrData *prData); + +PR_END_EXTERN_C + +#endif /* !defined(nsPrintdBeOS_h___) */ diff --git a/mozilla/widget/src/beos/nsWidgetFactory.cpp b/mozilla/widget/src/beos/nsWidgetFactory.cpp index 61a797d6ad9..a16325d88fa 100644 --- a/mozilla/widget/src/beos/nsWidgetFactory.cpp +++ b/mozilla/widget/src/beos/nsWidgetFactory.cpp @@ -52,6 +52,13 @@ #include "nsBidiKeyboard.h" #include "nsScreenManagerBeOS.h" +// Printing: +// aka nsDeviceContextSpecBeOS.h +#include "nsDeviceContextSpecB.h" +// aka nsDeviceContextSpecFactoryBeOS.h +#include "nsDeviceContextSpecFactoryB.h" +#include "nsPrintOptionsBeOS.h" +#include "nsPrintSession.h" // Drag & Drop, Clipboard #include "nsTransferable.h" @@ -74,7 +81,13 @@ NS_GENERIC_FACTORY_CONSTRUCTOR(nsDragService) NS_GENERIC_FACTORY_CONSTRUCTOR(nsSound) NS_GENERIC_FACTORY_CONSTRUCTOR(nsFilePicker) NS_GENERIC_FACTORY_CONSTRUCTOR(nsBidiKeyboard) -NS_GENERIC_FACTORY_CONSTRUCTOR(nsScreenManagerBeOS) +NS_GENERIC_FACTORY_CONSTRUCTOR(nsScreenManagerBeOS) + +NS_GENERIC_FACTORY_CONSTRUCTOR(nsDeviceContextSpecBeOS) +NS_GENERIC_FACTORY_CONSTRUCTOR(nsDeviceContextSpecFactoryBeOS) +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintOptionsBeOS, Init) +NS_GENERIC_FACTORY_CONSTRUCTOR_INIT(nsPrintSession, Init) +NS_GENERIC_FACTORY_CONSTRUCTOR(nsPrinterEnumeratorBeOS) static const nsModuleComponentInfo components[] = { @@ -133,7 +146,30 @@ static const nsModuleComponentInfo components[] = { "BeOS Screen Manager", NS_SCREENMANAGER_CID, "@mozilla.org/gfx/screenmanager;1", - nsScreenManagerBeOSConstructor } + nsScreenManagerBeOSConstructor }, + { "BeOS Device Context Spec", + NS_DEVICE_CONTEXT_SPEC_CID, + // "@mozilla.org/gfx/device_context_spec/beos;1", + "@mozilla.org/gfx/devicecontextspec;1", + nsDeviceContextSpecBeOSConstructor }, + { "BeOS Device Context Spec Factory", + NS_DEVICE_CONTEXT_SPEC_FACTORY_CID, + // "@mozilla.org/gfx/device_context_spec_factory/beos;1", + "@mozilla.org/gfx/devicecontextspecfactory;1", + nsDeviceContextSpecFactoryBeOSConstructor }, + { "BeOS Printer Enumerator", + NS_PRINTER_ENUMERATOR_CID, + // "@mozilla.org/gfx/printer_enumerator/beos;1", + "@mozilla.org/gfx/printerenumerator;1", + nsPrinterEnumeratorBeOSConstructor }, + { "BeOS PrintSettings Service", + NS_PRINTSETTINGSSERVICE_CID, + "@mozilla.org/gfx/printsettings-service;1", + nsPrintOptionsBeOSConstructor }, + { "Print Session", + NS_PRINTSESSION_CID, + "@mozilla.org/gfx/printsession;1", + nsPrintSessionConstructor } }; NS_IMPL_NSGETMODULE(nsWidgetBeOSModule,components)