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.
141 lines
3.7 KiB
141 lines
3.7 KiB
#ifndef _PDEV_H
|
|
#define _PDEV_H
|
|
|
|
//
|
|
// Files necessary for OEM plug-in.
|
|
//
|
|
|
|
#include <minidrv.h>
|
|
#include <stdio.h>
|
|
|
|
#include <prcomoem.h>
|
|
#include "COLMATCH.H"
|
|
|
|
//
|
|
// For debugging.
|
|
//
|
|
|
|
//#define MY_VERBOSE(x) DBGPRINT(DBG_WARNING, x)
|
|
#define MY_VERBOSE VERBOSE
|
|
//#define DL_VERBOSE MY_VERBOSE
|
|
#define DL_VERBOSE VERBOSE
|
|
//#define SC_VERBOSE MY_VERBOSE
|
|
#define SC_VERBOSE VERBOSE
|
|
//#define CM_VERBOSE MY_VERBOSE
|
|
#define CM_VERBOSE VERBOSE
|
|
|
|
|
|
//
|
|
// Misc definitions follows.
|
|
//
|
|
|
|
#define DOWNLOADFONT 1
|
|
//#define DOWNLOADFONT 0
|
|
|
|
#define DRVGETDRIVERSETTING(p, t, o, s, n, r) \
|
|
((p)->pDrvProcs->DrvGetDriverSetting(p, t, o, s, n, r))
|
|
|
|
#define DRVGETGPDDATA(p, t, i, b, s, n) \
|
|
((p)->pDrvProcs->DrvGetGPDData(p, t, i, b, s, n))
|
|
|
|
#define MINIPDEV_DATA(p) ((p)->pdevOEM)
|
|
|
|
#define MASTER_UNIT 1200
|
|
|
|
#define DEFAULT_PALETTE_INDEX 0
|
|
|
|
////////////////////////////////////////////////////////
|
|
// OEM UD Defines
|
|
////////////////////////////////////////////////////////
|
|
|
|
#define VALID_PDEVOBJ(pdevobj) \
|
|
((pdevobj) && (pdevobj)->dwSize >= sizeof(DEVOBJ) && \
|
|
(pdevobj)->hEngine && (pdevobj)->hPrinter && \
|
|
(pdevobj)->pPublicDM && (pdevobj)->pDrvProcs )
|
|
|
|
//
|
|
// ASSERT_VALID_PDEVOBJ can be used to verify the passed in "pdevobj". However,
|
|
// it does NOT check "pdevOEM" and "pOEMDM" fields since not all OEM DLL's create
|
|
// their own pdevice structure or need their own private devmode. If a particular
|
|
// OEM DLL does need them, additional checks should be added. For example, if
|
|
// an OEM DLL needs a private pdevice structure, then it should use
|
|
// ASSERT(VALID_PDEVOBJ(pdevobj) && pdevobj->pdevOEM && ...)
|
|
//
|
|
|
|
#define ASSERT_VALID_PDEVOBJ(pdevobj) ASSERT(VALID_PDEVOBJ(pdevobj))
|
|
|
|
// Debug text.
|
|
#define ERRORTEXT(s) "ERROR " s
|
|
|
|
////////////////////////////////////////////////////////
|
|
// OEM UD Prototypes
|
|
////////////////////////////////////////////////////////
|
|
//VOID DbgPrint(IN LPCTSTR pstrFormat, ...);
|
|
|
|
//
|
|
// OEM Signature and version.
|
|
//
|
|
#define OEM_SIGNATURE 'CSN4' // EPSON ESC/Page printers
|
|
#define OEM_VERSION 0x00010000L
|
|
|
|
|
|
////////////////////////////////////////////////////////
|
|
// OEM UD Type Defines
|
|
////////////////////////////////////////////////////////
|
|
|
|
typedef struct tag_OEMUD_EXTRADATA {
|
|
OEM_DMEXTRAHEADER dmExtraHdr;
|
|
} OEMUD_EXTRADATA, *POEMUD_EXTRADATA;
|
|
|
|
typedef struct {
|
|
DWORD fGeneral;
|
|
int iEscapement;
|
|
short sHeightDiv;
|
|
short iDevCharOffset;
|
|
BYTE iPaperSource;
|
|
BYTE iDuplex;
|
|
BYTE iTonerSave;
|
|
BYTE iOrientation;
|
|
BYTE iResolution;
|
|
BYTE iColor;
|
|
BYTE iSmoothing;
|
|
BYTE iJamRecovery;
|
|
BYTE iMediaType;
|
|
BYTE iUnitFactor; // factor of master unit
|
|
BYTE iDithering;
|
|
BYTE iColorMatching;
|
|
BYTE iBitFont;
|
|
BYTE iCmyBlack;
|
|
BYTE iTone;
|
|
BYTE iPaperSize;
|
|
BYTE iCompress;
|
|
WORD Printer;
|
|
DEVCOL Col;
|
|
WORD wRectWidth, wRectHeight;
|
|
|
|
#define UNKNOWN_DLFONT_ID (~0)
|
|
|
|
DWORD dwDLFontID; // device's current font ID
|
|
DWORD dwDLSelectFontID; // "SelectFont" font ID
|
|
DWORD dwDLSetFontID; // "SetFont" font ID
|
|
WORD wCharCode;
|
|
|
|
} MYPDEV, *PMYPDEV;
|
|
|
|
// Flags for fGeneral
|
|
#define FG_DBCS 0x00000001
|
|
#define FG_VERT 0x00000002
|
|
#define FG_PROP 0x00000004
|
|
#define FG_DOUBLE 0x00000008
|
|
#define FG_NULL_PEN 0x00000010
|
|
#define FG_BOLD 0x00000020
|
|
#define FG_ITALIC 0x00000040
|
|
|
|
extern BOOL BInitOEMExtraData(POEMUD_EXTRADATA pOEMExtra);
|
|
extern BMergeOEMExtraData(POEMUD_EXTRADATA pdmIn, POEMUD_EXTRADATA pdmOut);
|
|
|
|
#endif // _PDEV_H
|
|
|
|
|
|
// End of File
|
|
|