You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
185 lines
3.9 KiB
185 lines
3.9 KiB
////////////////////////////////////////////////////////////////////////
|
|
// Copyright (c) 1999-2001 Microsoft Corporation
|
|
// All rights reserved.
|
|
//
|
|
//Module Name:
|
|
//
|
|
// oemdev.h
|
|
//
|
|
//Abstract:
|
|
//
|
|
// OEM DEVMODE
|
|
//
|
|
//Environment:
|
|
//
|
|
// Windows NT printer driver
|
|
//
|
|
//////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _INCLUDE_OEMDEV_H_
|
|
#define _INCLUDE_OEMDEV_H_
|
|
|
|
#ifndef WIN32
|
|
#define WIN32
|
|
#endif
|
|
|
|
///////////////////////////////////////////////////////////////////////////
|
|
// Defines
|
|
///////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// VERSION number
|
|
//
|
|
#define OEM_DEVMODE_VERSION_1_0 0x00010000
|
|
#define HELPFILE_NAME_LENGTH 256
|
|
|
|
//
|
|
// Printer Model Defined Constants.
|
|
//
|
|
// Any new supported printer model needs to be added to this list.
|
|
//
|
|
#define HP_MODEL_NOT_SUPPORTED 0
|
|
#define HP_HPCLJ5 1
|
|
#define HP_HPC4500 2
|
|
|
|
|
|
#ifdef PSCRIPT
|
|
//
|
|
// Postscript stuff
|
|
//
|
|
|
|
typedef struct _CMD_INJECTION {
|
|
DWORD dwbSize;
|
|
DWORD dwIndex;
|
|
DWORD loOffset;
|
|
} CMD_INJECTION;
|
|
|
|
#define NUM_OF_PS_INJECTION 5
|
|
|
|
typedef struct _OEMDEVMODE {
|
|
OEM_DMEXTRAHEADER DMExtraHdr;
|
|
CMD_INJECTION InjectCmd[NUM_OF_PS_INJECTION];
|
|
} OEMDEVMODE, *POEMDEVMODE;
|
|
|
|
#else
|
|
|
|
typedef enum _OEMGRAPHICSMODE
|
|
{
|
|
// In Raster Graphics Mode, control is sent back to the Unidriver and GDI.
|
|
// In HPGL2 Graphics Mode, all processing is done by the our kernel mode
|
|
// dll.
|
|
|
|
HPGL2,
|
|
RASTER,
|
|
RIP
|
|
} OEMGRAPHICSMODE;
|
|
|
|
typedef enum _OEMHALFTONE
|
|
{
|
|
// Monarch distinguishes between the Text and Graphics
|
|
// halftones. So, four different halftones are needed for
|
|
// Monarch.
|
|
// Bedrock + does not distinguish between text and graphics.
|
|
|
|
TEXT_DETAIL, /* Esc*t0J */
|
|
TEXT_SMOOTH, /* Esc*t15J */
|
|
GRAPHICS_DETAIL, /* Esc*t15J */
|
|
GRAPHICS_SMOOTH, /* Esc*t18J */
|
|
CLJ5_DETAIL, /* Esc*t0J */
|
|
CLJ5_SMOOTH, /* Esc*t15J */
|
|
CLJ5_BASIC, /* Esc*t18J */
|
|
HALFTONE_NOT_SET
|
|
} OEMHALFTONE;
|
|
|
|
typedef enum _OEMCOLORCONTROL
|
|
{
|
|
VIVID,
|
|
SCRNMATCH,
|
|
CLJ5_SCRNMATCH,
|
|
NOADJ,
|
|
COLORCONTROL_NOT_SET
|
|
} OEMCOLORCONTROL;
|
|
|
|
typedef struct _OEMCOLOROPTIONS
|
|
{
|
|
OEMHALFTONE Halftone;
|
|
OEMCOLORCONTROL ColorControl;
|
|
} OEMCOLOROPTIONS, *POEMCOLOROPTIONS;
|
|
|
|
typedef enum _OEMRESOLUTION
|
|
{
|
|
// Monarch supports both 300 and 600 dpi. Ideally monarch should only
|
|
// use 600 dpi but for debugging purposes 300 dpi is used as well.
|
|
|
|
// Bedrock + supports only 300 dpi.
|
|
|
|
PDM_150DPI,
|
|
PDM_300DPI,
|
|
PDM_600DPI,
|
|
PDM_1200DPI
|
|
} OEMRESOLUTION;
|
|
|
|
typedef enum _OEMPAPERTYPE
|
|
{
|
|
// All of the following paper types are supported by
|
|
// the Monarch. Only PLAIN, GLOSSY, and TRANSPARENCY
|
|
// are supported by Bedrock +
|
|
|
|
UNSPECIFIED, // Default Paper Type
|
|
PLAIN,
|
|
PREPRINTED,
|
|
LETTERHEAD,
|
|
TRANSPARENCY,
|
|
GLOSSY,
|
|
PREPUNCHED,
|
|
LABELS,
|
|
BOND,
|
|
RECYCLED,
|
|
COLOR,
|
|
HEAVY,
|
|
CARDSTOCK
|
|
} OEMPAPERTYPE;
|
|
|
|
typedef enum _OEMPRINTERMODEL
|
|
{
|
|
HPCLJ5,
|
|
HPC4500,
|
|
MODEL_NOT_NEEDED
|
|
} OEMPRINTERMODEL;
|
|
|
|
//
|
|
// Whether or not the document will print in monochrome mode or color.
|
|
//
|
|
typedef enum _OEMCOLORMODE
|
|
{
|
|
MONOCHROME_MODE,
|
|
COLOR_MODE
|
|
} OEMCOLORMODE;
|
|
|
|
typedef struct _OEMDEVMODE
|
|
{
|
|
OEM_DMEXTRAHEADER DMExtraHdr;
|
|
BOOL DirtyDefaults;
|
|
BOOL DirtyColors;
|
|
BOOL DirtyOptions;
|
|
BOOL ColorTreatment;
|
|
OEMCOLOROPTIONS Text;
|
|
OEMCOLOROPTIONS Graphics;
|
|
OEMCOLOROPTIONS Photos;
|
|
OEMPAPERTYPE OemPaperType;
|
|
BOOL TrueType;
|
|
BOOL ListPrinterFonts;
|
|
BOOL MetafileSpool;
|
|
BOOL GlossFinish;
|
|
OEMGRAPHICSMODE UIGraphicsMode;
|
|
LONG Duplex;
|
|
OEMRESOLUTION dmResolution;
|
|
BOOL bFastRaster;
|
|
OEMPRINTERMODEL PrinterModel;
|
|
BOOL bUpdateTreeview;
|
|
OEMCOLORMODE eOemColorMode;
|
|
WCHAR lpwstrHelpFile[HELPFILE_NAME_LENGTH];
|
|
|
|
} OEMDEVMODE, *POEMDEVMODE;
|
|
|
|
#endif // PSCRIPT
|
|
#endif // _INCLUDE_OEMDEV_H_
|