748e5c033fce8238d2b4914201a6bf9f63d35108
[reactos.git] / reactos / dll / comdlg32 / printdlg.h
1 /*
2 * COMMDLG - Print Dialog
3 *
4 * Copyright 1994 Martin Ayotte
5 * Copyright 1996 Albrecht Kleine
6 * Copyright 1999 Klaas van Gend
7 * Copyright 2000 Huw D M Davies
8 *
9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Lesser General Public
11 * License as published by the Free Software Foundation; either
12 * version 2.1 of the License, or (at your option) any later version.
13 *
14 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Lesser General Public License for more details.
18 *
19 * You should have received a copy of the GNU Lesser General Public
20 * License along with this library; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 */
23
24 #ifndef _WINE_PRINTDLG_H
25 #define _WINE_PRINTDLG_H
26
27 #include "cdlg.h"
28
29 /* This PRINTDLGA internal structure stores
30 * pointers to several throughout useful structures.
31 */
32
33 typedef struct
34 {
35 LPDEVMODEA lpDevMode;
36 LPPRINTDLGA lpPrintDlg;
37 LPPRINTER_INFO_2A lpPrinterInfo;
38 LPDRIVER_INFO_3A lpDriverInfo;
39 UINT HelpMessageID;
40 HICON hCollateIcon; /* PrintDlg only */
41 HICON hNoCollateIcon; /* PrintDlg only */
42 HICON hPortraitIcon; /* PrintSetupDlg only */
43 HICON hLandscapeIcon; /* PrintSetupDlg only */
44 HWND hwndUpDown;
45 } PRINT_PTRA;
46
47 typedef struct
48 {
49 LPDEVMODEW lpDevMode;
50 LPPRINTDLGW lpPrintDlg;
51 LPPRINTER_INFO_2W lpPrinterInfo;
52 LPDRIVER_INFO_3W lpDriverInfo;
53 UINT HelpMessageID;
54 HICON hCollateIcon; /* PrintDlg only */
55 HICON hNoCollateIcon; /* PrintDlg only */
56 HICON hPortraitIcon; /* PrintSetupDlg only */
57 HICON hLandscapeIcon; /* PrintSetupDlg only */
58 HWND hwndUpDown;
59 } PRINT_PTRW;
60
61 /* Debugging info */
62 static struct pd_flags {
63 DWORD flag;
64 LPCSTR name;
65 } pd_flags[] = {
66 {PD_SELECTION, "PD_SELECTION "},
67 {PD_PAGENUMS, "PD_PAGENUMS "},
68 {PD_NOSELECTION, "PD_NOSELECTION "},
69 {PD_NOPAGENUMS, "PD_NOPAGENUMS "},
70 {PD_COLLATE, "PD_COLLATE "},
71 {PD_PRINTTOFILE, "PD_PRINTTOFILE "},
72 {PD_PRINTSETUP, "PD_PRINTSETUP "},
73 {PD_NOWARNING, "PD_NOWARNING "},
74 {PD_RETURNDC, "PD_RETURNDC "},
75 {PD_RETURNIC, "PD_RETURNIC "},
76 {PD_RETURNDEFAULT, "PD_RETURNDEFAULT "},
77 {PD_SHOWHELP, "PD_SHOWHELP "},
78 {PD_ENABLEPRINTHOOK, "PD_ENABLEPRINTHOOK "},
79 {PD_ENABLESETUPHOOK, "PD_ENABLESETUPHOOK "},
80 {PD_ENABLEPRINTTEMPLATE, "PD_ENABLEPRINTTEMPLATE "},
81 {PD_ENABLESETUPTEMPLATE, "PD_ENABLESETUPTEMPLATE "},
82 {PD_ENABLEPRINTTEMPLATEHANDLE, "PD_ENABLEPRINTTEMPLATEHANDLE "},
83 {PD_ENABLESETUPTEMPLATEHANDLE, "PD_ENABLESETUPTEMPLATEHANDLE "},
84 {PD_USEDEVMODECOPIES, "PD_USEDEVMODECOPIES[ANDCOLLATE] "},
85 {PD_DISABLEPRINTTOFILE, "PD_DISABLEPRINTTOFILE "},
86 {PD_HIDEPRINTTOFILE, "PD_HIDEPRINTTOFILE "},
87 {PD_NONETWORKBUTTON, "PD_NONETWORKBUTTON "},
88 {-1, NULL}
89 };
90
91 /* Internal Functions
92 * Do not Export to other applications or dlls
93 */
94
95 INT PRINTDLG_SetUpPrinterListComboA(HWND hDlg, UINT id, LPCSTR name);
96 BOOL PRINTDLG_ChangePrinterA(HWND hDlg, char *name,
97 PRINT_PTRA *PrintStructures);
98 BOOL PRINTDLG_OpenDefaultPrinter(HANDLE *hprn);
99 LRESULT PRINTDLG_WMCommandA(HWND hDlg, WPARAM wParam,
100 LPARAM lParam, PRINT_PTRA* PrintStructures);
101
102 #endif /* _WINE_PRINTDLG_H */