Leaked source code of windows server 2003
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.
 
 
 
 
 
 

349 lines
11 KiB

/*++
Copyright (c) 1990-2003 Microsoft Corporation
Module Name:
plotui.h
Abstract:
This module contains all plotters's user interface common defines
Author:
02-Dec-1993 Thu 09:56:07 created
[Environment:]
GDI Device Driver - Plotter.
[Notes:]
Revision History:
--*/
#ifndef _PLOTUI_
#define _PLOTUI_
//
// For compilers that don't support nameless unions
//
#ifndef DUMMYUNIONNAME
#ifdef NONAMELESSUNION
#define DUMMYUNIONNAME u
#define DUMMYUNIONNAME2 u2
#define DUMMYUNIONNAME3 u3
#else
#define DUMMYUNIONNAME
#define DUMMYUNIONNAME2
#define DUMMYUNIONNAME3
#endif
#endif
//
// PrinterINFO data structure which used by following calls to map a hPrinter
// to this data structrue by follwoing funciton
//
// 1. DrvDeviceCapabilities()
// 2. PrinterProperties()
// @@BEGIN_DDKSPLIT
// 3. DrvDocumentProperties()
// 4. DrvAdvancedDocumentProperties()
// @@END_DDKSPLIT
//
#define PIF_UPDATE_PERMISSION 0x01
#define PIF_DOCPROP 0x02
typedef struct _PRINTERINFO {
HANDLE hPrinter; // Handle to the printer belong to here
POPTITEM pOptItem;
LPWSTR pHelpFile; // pointer to the help file
PFORM_INFO_1 pFI1Base; // intalled form
PPLOTGPC pPlotGPC; // loaded/updated Plotter GPC data
WORD cOptItem;
BYTE Flags;
BYTE IdxPenSet; // plotter pen data set
DWORD dmErrBits; // ErrorBits for DM_
PLOTDEVMODE PlotDM; // Validated PLOTDEVMODE
PAPERINFO CurPaper; // Current loaded form on the device
PPDATA PPData; // Printer Prop Data
HANDLE hCPSUI; // handle to the common ui pages
PCOMPROPSHEETUI pCPSUI; // pointer to COMPROPSHEETUI
PPLOTDEVMODE pPlotDMIn; // input devmode
PPLOTDEVMODE pPlotDMOut; // output devmode
DWORD dw64Align; // QWORD alignment.
DWORD ExtraData; // starting of extra data
} PRINTERINFO, *PPRINTERINFO;
#define PI_PADJHTINFO(pPI) (PDEVHTINFO)&((pPI)->ExtraData)
#define PI_PDEVHTADJDATA(pPI) (PDEVHTADJDATA)(PI_PADJHTINFO(pPI) + 1)
#define PI_PPENDATA(pPI) (PPENDATA)&((pPI)->ExtraData)
typedef struct _DOCPROPINFO {
HWND hWnd;
DWORD Result;
DOCUMENTPROPERTYHEADER DPHdr;
} DOCPROPINFO, *PDOCPROPINFO;
typedef struct _DEVPROPINFO {
HWND hWnd;
DWORD Result;
DEVICEPROPERTYHEADER DPHdr;
} DEVPROPINFO, *PDEVPROPINFO;
typedef UINT (* _CREATEOIFUNC)(PPRINTERINFO pPI,
POPTITEM pOptItem,
LPVOID pOIData);
#define CREATEOIFUNC UINT
typedef struct _OPDATA {
WORD Flags;
WORD IDSName;
WORD IconID;
union {
WORD Style;
WORD IDSSeparator;
} DUMMYUNIONNAME;
union {
WORD wParam;
WORD IDSCheckedName;
} DUMMYUNIONNAME2;
SHORT sParam;
} OPDATA, *POPDATA;
#define ODF_PEN 0x00000001
#define ODF_RASTER 0x00000002
#define ODF_PEN_RASTER (ODF_PEN | ODF_RASTER)
#define ODF_COLOR 0x00000004
#define ODF_ROLLFEED 0x00000008
#define ODF_ECB 0x00000010
#define ODF_INC_IDSNAME 0x00000020
#define ODF_INC_ICONID 0x00000040
#define ODF_NO_INC_POPDATA 0x00000080
#define ODF_COLLAPSE 0x00000100
#define ODF_CALLBACK 0x00000200
#define ODF_NO_PAPERTRAY 0x00000400
#define ODF_CALLCREATEOI 0x00000800
#define ODF_MANUAL_FEED 0x00001000
#define OI_LEVEL_1 0
#define OI_LEVEL_2 1
#define OI_LEVEL_3 2
#define OI_LEVEL_4 3
#define OI_LEVEL_5 4
#define OI_LEVEL_6 5
typedef struct _OIDATA {
DWORD Flags;
BYTE NotUsed;
BYTE Level;
BYTE DMPubID;
BYTE Type;
WORD IDSName;
union {
WORD IconID;
WORD Style;
} DUMMYUNIONNAME;
WORD HelpIdx;
WORD cOPData;
union {
POPDATA pOPData;
_CREATEOIFUNC pfnCreateOI;
} DUMMYUNIONNAME2;
} OIDATA, *POIDATA;
#define PI_OFF(x) (WORD)FIELD_OFFSET(PRINTERINFO, x)
#define PLOTDM_OFF(x) (WORD)FIELD_OFFSET(PLOTDEVMODE, x)
#define OPTIF_NONE 0
#define PP_FORMTRAY_ASSIGN (DMPUB_USER + 0)
#define PP_INSTALLED_FORM (DMPUB_USER + 1)
#define PP_MANUAL_FEED_METHOD (DMPUB_USER + 2)
#define PP_PRINT_FORM_OPTIONS (DMPUB_USER + 3)
#define PP_AUTO_ROTATE (DMPUB_USER + 4)
#define PP_PRINT_SMALLER_PAPER (DMPUB_USER + 5)
#define PP_HT_SETUP (DMPUB_USER + 6)
#define PP_INSTALLED_PENSET (DMPUB_USER + 7)
#define PP_PEN_SETUP (DMPUB_USER + 8)
#define PP_PENSET (DMPUB_USER + 9)
#define PP_PEN_NUM (DMPUB_USER + 10)
#define DP_HTCLRADJ (DMPUB_USER + 0)
#define DP_FILL_TRUETYPE (DMPUB_USER + 1)
#define DP_QUICK_POSTER_MODE (DMPUB_USER + 2)
//
// Icon ID
//
#define IDI_RASTER_ROLLFEED 64089
#define IDI_RASTER_TRAYFEED 64090
#define IDI_PEN_ROLLFEED 64087
#define IDI_PEN_TRAYFEED 64088
#define IDI_ROLLPAPER 64091
#define IDI_PEN_SETUP 64093
#define IDI_PENSET 64092
#define IDI_DEFAULT_PENCLR 1007
#define IDI_PENCLR 64092
#define IDI_AUTO_ROTATE_NO 1009
#define IDI_AUTO_ROTATE_YES 1010
#define IDI_PRINT_SMALLER_PAPER_NO 1011
#define IDI_PRINT_SMALLER_PAPER_YES 1012
#define IDI_MANUAL_CX 1013
#define IDI_MANUAL_CY 1014
#define IDI_FILL_TRUETYPE_NO 1015
#define IDI_FILL_TRUETYPE_YES 1016
#define IDI_COLOR_FIRST IDI_WHITE
#define IDI_WHITE 1100
#define IDI_BLACK 1101
#define IDI_RED 1102
#define IDI_GREEN 1103
#define IDI_YELLOW 1104
#define IDI_BLUE 1105
#define IDI_MAGENTA 1106
#define IDI_CYAN 1107
#define IDI_ORANGE 1108
#define IDI_BROWN 1109
#define IDI_VIOLET 1110
#define IDI_COLOR_LAST IDI_VIOLET
//
// String table ID
//
#define IDS_PLOTTER_DRIVER 1900
#define IDS_CAUTION 1901
#define IDS_NO_MEMORY 1902
#define IDS_INVALID_DATA 1903
#define IDS_FORM_TOO_BIG 1904
#define IDS_INV_DMSIZE 1905
#define IDS_INV_DMVERSION 1906
#define IDS_INV_DMDRIVEREXTRA 1907
#define IDS_INV_DMCOLOR 1908
#define IDS_INV_DMCOPIES 1909
#define IDS_INV_DMSCALE 1910
#define IDS_INV_DMORIENTATION 1911
#define IDS_INV_DMFORM 1912
#define IDS_INV_DMQUALITY 1913
#define IDS_FORM_NOT_AVAI 1914
#define IDS_MODEL 1915
#define IDS_HELP_FILENAME 1916
#define IDS_NO_HELP 1918
#define IDS_PP_NO_SAVE 1919
#define IDS_INSTALLED_FORM 2030
#define IDS_MANUAL_FEEDER 2040
#define IDS_MANUAL_FEED_METHOD 2041
#define IDS_MANUAL_CX 2042
#define IDS_MANUAL_CY 2043
#define IDS_ROLLFEED 2044
#define IDS_MAINFEED 2045
#define IDS_PRINT_FORM_OPTIONS 2050
#define IDS_AUTO_ROTATE 2051
#define IDS_PRINT_SAMLLER_PAPER 2052
#define IDS_INSTALLED_PENSET 2060
#define IDS_PEN_SETUP 2061
#define IDS_PENSET_FIRST IDS_PENSET_1
#define IDS_PENSET_1 2070
#define IDS_PENSET_2 2071
#define IDS_PENSET_3 2072
#define IDS_PENSET_4 2073
#define IDS_PENSET_5 2074
#define IDS_PENSET_6 2075
#define IDS_PENSET_7 2076
#define IDS_PENSET_8 2077
#define IDS_PENSET_LAST IDS_PENSET_8
#define IDS_PEN_NUM 2100
#define IDS_DEFAULT_PENCLR 2101
#define IDS_QUALITY_FIRST IDS_QUALITY_DRAFT
#define IDS_QUALITY_DRAFT 2110
#define IDS_QUALITY_LOW 2111
#define IDS_QUALITY_MEDIUM 2112
#define IDS_QUALITY_HIGH 2113
#define IDS_QUALITY_LAST IDS_QUALITY_HIGH
#define IDS_COLOR_FIRST IDS_WHITE
#define IDS_WHITE 2120
#define IDS_BLACK 2121
#define IDS_RED 2122
#define IDS_GREEN 2123
#define IDS_YELLOW 2124
#define IDS_BLUE 2125
#define IDS_MAGENTA 2126
#define IDS_CYAN 2127
#define IDS_ORANGE 2128
#define IDS_BROWN 2129
#define IDS_VIOLET 2130
#define IDS_COLOR_LAST IDS_VIOLET
#define IDS_FILL_TRUETYPE 2140
#define IDS_POSTER_MODE 2150
#define IDS_USERFORM 2200
//
// Help Index for Printer Properties
//
#define IDH_FORMTRAYASSIGN 5000
#define IDH_FORM_ROLL_FEEDER 5010
#define IDH_FORM_MAIN_FEEDER 5020
#define IDH_FORM_MANUAL_FEEDER 5030
#define IDH_MANUAL_FEED_METHOD 5040
#define IDH_PRINT_FORM_OPTIONS 5050
#define IDH_AUTO_ROTATE 5060
#define IDH_PRINT_SMALLER_PAPER 5070
#define IDH_HALFTONE_SETUP 5080
#define IDH_INSTALLED_PENSET 5090
#define IDH_PEN_SETUP 5100
#define IDH_PENSET 5110
#define IDH_PEN_NUM 5120
//
// Help Index for Document Properties
#define IDH_FORMNAME 5500
#define IDH_ORIENTATION 5510
#define IDH_COPIES_COLLATE 5520
#define IDH_PRINTQUALITY 5530
#define IDH_COLOR 5540
#define IDH_SCALE 5550
#define IDH_HTCLRADJ 5560
#define IDH_FILL_TRUETYPE 5570
#define IDH_POSTER_MODE 5580
//
// Count of characters
//
#define CCHOF(x) (sizeof(x)/sizeof(*(x)))
#endif // _PLOTUI_