Moved in win32
[reactos.git] / reactos / dll / win32 / comdlg32 / cdlg16.h
1 /*
2 * Common Dialog Boxes interface (16 bit implementation)
3 *
4 * Copyright 1994 Martin Ayotte
5 * Copyright 1996 Albrecht Kleine
6 * Copyright 1998 Bertho A. Stultiens
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 */
22
23 #ifndef _WINE_DLL_CDLG16_H
24 #define _WINE_DLL_CDLG16_H
25
26 #define COM_NO_WINDOWS_H
27 #include "dlgs.h"
28 #include "wine/windef16.h"
29 #include "wine/winbase16.h"
30 #include "wine/winuser16.h"
31 #include "wownt32.h"
32
33 /* 16 bit api */
34
35 #include "pshpack1.h"
36
37 typedef UINT16 (CALLBACK *LPOFNHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
38
39 typedef struct {
40 DWORD lStructSize;
41 HWND16 hwndOwner;
42 HINSTANCE16 hInstance;
43 SEGPTR lpstrFilter;
44 SEGPTR lpstrCustomFilter;
45 DWORD nMaxCustFilter;
46 DWORD nFilterIndex;
47 SEGPTR lpstrFile;
48 DWORD nMaxFile;
49 SEGPTR lpstrFileTitle;
50 DWORD nMaxFileTitle;
51 SEGPTR lpstrInitialDir;
52 SEGPTR lpstrTitle;
53 DWORD Flags;
54 UINT16 nFileOffset;
55 UINT16 nFileExtension;
56 SEGPTR lpstrDefExt;
57 LPARAM lCustData;
58 LPOFNHOOKPROC16 lpfnHook;
59 SEGPTR lpTemplateName;
60 } OPENFILENAME16,*LPOPENFILENAME16;
61
62 typedef UINT16 (CALLBACK *LPCCHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
63
64 typedef struct {
65 DWORD lStructSize;
66 HWND16 hwndOwner;
67 HWND16 hInstance;
68 COLORREF rgbResult;
69 SEGPTR lpCustColors;
70 DWORD Flags;
71 LPARAM lCustData;
72 LPCCHOOKPROC16 lpfnHook;
73 SEGPTR lpTemplateName;
74 } CHOOSECOLOR16;
75 typedef CHOOSECOLOR16 *LPCHOOSECOLOR16;
76
77 typedef UINT16 (CALLBACK *LPFRHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
78 typedef struct {
79 DWORD lStructSize; /* size of this struct 0x20 */
80 HWND16 hwndOwner; /* handle to owner's window */
81 HINSTANCE16 hInstance; /* instance handle of.EXE that */
82 /* contains cust. dlg. template */
83 DWORD Flags; /* one or more of the FR_?? */
84 SEGPTR lpstrFindWhat; /* ptr. to search string */
85 SEGPTR lpstrReplaceWith; /* ptr. to replace string */
86 UINT16 wFindWhatLen; /* size of find buffer */
87 UINT16 wReplaceWithLen; /* size of replace buffer */
88 LPARAM lCustData; /* data passed to hook fn. */
89 LPFRHOOKPROC16 lpfnHook;
90 SEGPTR lpTemplateName; /* custom template name */
91 } FINDREPLACE16, *LPFINDREPLACE16;
92
93 typedef UINT16 (CALLBACK *LPCFHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
94 typedef struct
95 {
96 DWORD lStructSize;
97 HWND16 hwndOwner; /* caller's window handle */
98 HDC16 hDC; /* printer DC/IC or NULL */
99 SEGPTR lpLogFont; /* ptr. to a LOGFONT struct */
100 short iPointSize; /* 10 * size in points of selected font */
101 DWORD Flags; /* enum. type flags */
102 COLORREF rgbColors; /* returned text color */
103 LPARAM lCustData; /* data passed to hook fn. */
104 LPCFHOOKPROC16 lpfnHook;
105 SEGPTR lpTemplateName; /* custom template name */
106 HINSTANCE16 hInstance; /* instance handle of.EXE that */
107 /* contains cust. dlg. template */
108 SEGPTR lpszStyle; /* return the style field here */
109 /* must be LF_FACESIZE or bigger */
110 UINT16 nFontType; /* same value reported to the */
111 /* EnumFonts callback with the */
112 /* extra FONTTYPE_ bits added */
113 short nSizeMin; /* minimum pt size allowed & */
114 short nSizeMax; /* max pt size allowed if */
115 /* CF_LIMITSIZE is used */
116 } CHOOSEFONT16, *LPCHOOSEFONT16;
117
118
119 typedef UINT16 (CALLBACK *LPPRINTHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
120 typedef UINT16 (CALLBACK *LPSETUPHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
121 typedef struct
122 {
123 DWORD lStructSize;
124 HWND16 hwndOwner;
125 HGLOBAL16 hDevMode;
126 HGLOBAL16 hDevNames;
127 HDC16 hDC;
128 DWORD Flags;
129 WORD nFromPage;
130 WORD nToPage;
131 WORD nMinPage;
132 WORD nMaxPage;
133 WORD nCopies;
134 HINSTANCE16 hInstance;
135 LPARAM lCustData;
136 LPPRINTHOOKPROC16 lpfnPrintHook;
137 LPSETUPHOOKPROC16 lpfnSetupHook;
138 SEGPTR lpPrintTemplateName;
139 SEGPTR lpSetupTemplateName;
140 HGLOBAL16 hPrintTemplate;
141 HGLOBAL16 hSetupTemplate;
142 } PRINTDLG16, *LPPRINTDLG16;
143
144 BOOL16 WINAPI ChooseColor16(LPCHOOSECOLOR16 lpChCol);
145 HWND16 WINAPI FindText16( SEGPTR find);
146 BOOL16 WINAPI GetOpenFileName16(SEGPTR ofn);
147 BOOL16 WINAPI GetSaveFileName16(SEGPTR ofn);
148 BOOL16 WINAPI PrintDlg16( LPPRINTDLG16 print);
149 HWND16 WINAPI ReplaceText16( SEGPTR find);
150 BOOL16 WINAPI ChooseFont16(LPCHOOSEFONT16);
151 BOOL16 CALLBACK ColorDlgProc16( HWND16 hDlg16, UINT16 message, WPARAM16 wParam, LONG lParam );
152 BOOL16 CALLBACK FileSaveDlgProc16(HWND16 hWnd16, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
153 BOOL16 CALLBACK FileOpenDlgProc16(HWND16 hWnd16, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
154 INT16 WINAPI FontFamilyEnumProc16( SEGPTR logfont, SEGPTR metrics, UINT16 nFontType, LPARAM lParam );
155 INT16 WINAPI FontStyleEnumProc16( SEGPTR logfont, SEGPTR metrics, UINT16 nFontType, LPARAM lParam);
156 BOOL16 CALLBACK FormatCharDlgProc16(HWND16 hDlg16, UINT16 message, WPARAM16 wParam, LPARAM lParam);
157 short WINAPI GetFileTitle16(LPCSTR lpFile, LPSTR lpTitle, UINT16 cbBuf);
158 BOOL16 CALLBACK PrintDlgProc16(HWND16 hDlg16, UINT16 uMsg, WPARAM16 wParam, LPARAM lParam);
159 BOOL16 CALLBACK PrintSetupDlgProc16(HWND16 hWnd16, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
160
161 #include "poppack.h"
162
163 #endif /* _WINE_DLL_CDLG16_H */