ole: Improve typelib traces.
[wine] / dlls / commdlg / 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 */