Split Win16/32 printer dialogs.
[wine/wine64.git] / dlls / commdlg / printdlg.h
blobb554aec34dacaaaf16d0d1919a89e71c2c265040
1 /*
2 * COMMDLG - Print Dialog
4 * Copyright 1994 Martin Ayotte
5 * Copyright 1996 Albrecht Kleine
6 * Copyright 1999 Klaas van Gend
7 * Copyright 2000 Huw D M Davies
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.
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.
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
24 #ifndef _WINE_PRINTDLG_H
25 #define _WINE_PRINTDLG_H
27 /* This PRINTDLGA internal structure stores
28 * pointers to several throughout useful structures.
32 typedef struct
34 LPDEVMODEA lpDevMode;
35 struct {
36 LPPRINTDLGA lpPrintDlg;
37 LPPRINTDLG16 lpPrintDlg16;
38 } dlg;
39 LPPRINTER_INFO_2A lpPrinterInfo;
40 LPDRIVER_INFO_3A lpDriverInfo;
41 UINT HelpMessageID;
42 HICON hCollateIcon; /* PrintDlg only */
43 HICON hNoCollateIcon; /* PrintDlg only */
44 HICON hPortraitIcon; /* PrintSetupDlg only */
45 HICON hLandscapeIcon; /* PrintSetupDlg only */
46 HWND hwndUpDown;
47 } PRINT_PTRA;
49 typedef struct
51 LPDEVMODEW lpDevMode;
52 struct {
53 LPPRINTDLGW lpPrintDlg;
54 } dlg;
55 LPPRINTER_INFO_2W lpPrinterInfo;
56 LPDRIVER_INFO_3W lpDriverInfo;
57 UINT HelpMessageID;
58 HICON hCollateIcon; /* PrintDlg only */
59 HICON hNoCollateIcon; /* PrintDlg only */
60 HICON hPortraitIcon; /* PrintSetupDlg only */
61 HICON hLandscapeIcon; /* PrintSetupDlg only */
62 HWND hwndUpDown;
63 } PRINT_PTRW;
65 /* Debugging info */
66 static struct pd_flags {
67 DWORD flag;
68 LPSTR name;
69 } pd_flags[] = {
70 {PD_SELECTION, "PD_SELECTION "},
71 {PD_PAGENUMS, "PD_PAGENUMS "},
72 {PD_NOSELECTION, "PD_NOSELECTION "},
73 {PD_NOPAGENUMS, "PD_NOPAGENUMS "},
74 {PD_COLLATE, "PD_COLLATE "},
75 {PD_PRINTTOFILE, "PD_PRINTTOFILE "},
76 {PD_PRINTSETUP, "PD_PRINTSETUP "},
77 {PD_NOWARNING, "PD_NOWARNING "},
78 {PD_RETURNDC, "PD_RETURNDC "},
79 {PD_RETURNIC, "PD_RETURNIC "},
80 {PD_RETURNDEFAULT, "PD_RETURNDEFAULT "},
81 {PD_SHOWHELP, "PD_SHOWHELP "},
82 {PD_ENABLEPRINTHOOK, "PD_ENABLEPRINTHOOK "},
83 {PD_ENABLESETUPHOOK, "PD_ENABLESETUPHOOK "},
84 {PD_ENABLEPRINTTEMPLATE, "PD_ENABLEPRINTTEMPLATE "},
85 {PD_ENABLESETUPTEMPLATE, "PD_ENABLESETUPTEMPLATE "},
86 {PD_ENABLEPRINTTEMPLATEHANDLE, "PD_ENABLEPRINTTEMPLATEHANDLE "},
87 {PD_ENABLESETUPTEMPLATEHANDLE, "PD_ENABLESETUPTEMPLATEHANDLE "},
88 {PD_USEDEVMODECOPIES, "PD_USEDEVMODECOPIES[ANDCOLLATE] "},
89 {PD_DISABLEPRINTTOFILE, "PD_DISABLEPRINTTOFILE "},
90 {PD_HIDEPRINTTOFILE, "PD_HIDEPRINTTOFILE "},
91 {PD_NONETWORKBUTTON, "PD_NONETWORKBUTTON "},
92 {-1, NULL}
95 /* Internal Functions
96 * Do not Export to other applications or dlls
99 BOOL PRINTDLG_GetDefaultPrinterNameA(LPSTR buf, DWORD len);
100 INT PRINTDLG_SetUpPrinterListComboA(HWND hDlg, UINT id, LPCSTR name);
101 BOOL PRINTDLG_ChangePrinterA(HWND hDlg, char *name,
102 PRINT_PTRA *PrintStructures);
103 BOOL PRINTDLG_OpenDefaultPrinter(HANDLE *hprn);
104 LRESULT PRINTDLG_WMCommandA(HWND hDlg, WPARAM wParam,
105 LPARAM lParam, PRINT_PTRA* PrintStructures);
107 #endif /* _WINE_PRINTDLG_H */