comdlg32: Reimplement the 16-bit color dialog on top of the 32-bit one.
[wine/multimedia.git] / dlls / comdlg32 / cdlg16.h
blobbc11b930f67d26f471b2d7d80c5f564c74f04172
1 /*
2 * Common Dialog Boxes interface (16 bit implementation)
4 * Copyright 1994 Martin Ayotte
5 * Copyright 1996 Albrecht Kleine
6 * Copyright 1998 Bertho A. Stultiens
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.
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.
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
23 #ifndef _WINE_DLL_CDLG16_H
24 #define _WINE_DLL_CDLG16_H
26 #include "dlgs.h"
27 #include "wine/windef16.h"
28 #include "wine/winbase16.h"
29 #include "wine/winuser16.h"
30 #include "wownt32.h"
32 /* 16 bit api */
34 #include "pshpack1.h"
36 typedef UINT16 (CALLBACK *LPOFNHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
38 typedef struct {
39 DWORD lStructSize;
40 HWND16 hwndOwner;
41 HINSTANCE16 hInstance;
42 SEGPTR lpstrFilter;
43 SEGPTR lpstrCustomFilter;
44 DWORD nMaxCustFilter;
45 DWORD nFilterIndex;
46 SEGPTR lpstrFile;
47 DWORD nMaxFile;
48 SEGPTR lpstrFileTitle;
49 DWORD nMaxFileTitle;
50 SEGPTR lpstrInitialDir;
51 SEGPTR lpstrTitle;
52 DWORD Flags;
53 UINT16 nFileOffset;
54 UINT16 nFileExtension;
55 SEGPTR lpstrDefExt;
56 LPARAM lCustData;
57 LPOFNHOOKPROC16 lpfnHook;
58 SEGPTR lpTemplateName;
59 } OPENFILENAME16,*LPOPENFILENAME16;
61 typedef UINT16 (CALLBACK *LPCCHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
63 typedef struct {
64 DWORD lStructSize;
65 HWND16 hwndOwner;
66 HWND16 hInstance;
67 COLORREF rgbResult;
68 SEGPTR lpCustColors;
69 DWORD Flags;
70 LPARAM lCustData;
71 LPCCHOOKPROC16 lpfnHook;
72 SEGPTR lpTemplateName;
73 } CHOOSECOLOR16;
74 typedef CHOOSECOLOR16 *LPCHOOSECOLOR16;
76 typedef UINT16 (CALLBACK *LPFRHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
77 typedef struct {
78 DWORD lStructSize; /* size of this struct 0x20 */
79 HWND16 hwndOwner; /* handle to owner's window */
80 HINSTANCE16 hInstance; /* instance handle of.EXE that */
81 /* contains cust. dlg. template */
82 DWORD Flags; /* one or more of the FR_?? */
83 SEGPTR lpstrFindWhat; /* ptr. to search string */
84 SEGPTR lpstrReplaceWith; /* ptr. to replace string */
85 UINT16 wFindWhatLen; /* size of find buffer */
86 UINT16 wReplaceWithLen; /* size of replace buffer */
87 LPARAM lCustData; /* data passed to hook fn. */
88 LPFRHOOKPROC16 lpfnHook;
89 SEGPTR lpTemplateName; /* custom template name */
90 } FINDREPLACE16, *LPFINDREPLACE16;
92 typedef UINT16 (CALLBACK *LPCFHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
93 typedef struct
95 DWORD lStructSize;
96 HWND16 hwndOwner; /* caller's window handle */
97 HDC16 hDC; /* printer DC/IC or NULL */
98 SEGPTR lpLogFont; /* ptr. to a LOGFONT struct */
99 short iPointSize; /* 10 * size in points of selected font */
100 DWORD Flags; /* enum. type flags */
101 COLORREF rgbColors; /* returned text color */
102 LPARAM lCustData; /* data passed to hook fn. */
103 LPCFHOOKPROC16 lpfnHook;
104 SEGPTR lpTemplateName; /* custom template name */
105 HINSTANCE16 hInstance; /* instance handle of.EXE that */
106 /* contains cust. dlg. template */
107 SEGPTR lpszStyle; /* return the style field here */
108 /* must be LF_FACESIZE or bigger */
109 UINT16 nFontType; /* same value reported to the */
110 /* EnumFonts callback with the */
111 /* extra FONTTYPE_ bits added */
112 short nSizeMin; /* minimum pt size allowed & */
113 short nSizeMax; /* max pt size allowed if */
114 /* CF_LIMITSIZE is used */
115 } CHOOSEFONT16, *LPCHOOSEFONT16;
118 typedef UINT16 (CALLBACK *LPPRINTHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
119 typedef UINT16 (CALLBACK *LPSETUPHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
120 typedef struct
122 DWORD lStructSize;
123 HWND16 hwndOwner;
124 HGLOBAL16 hDevMode;
125 HGLOBAL16 hDevNames;
126 HDC16 hDC;
127 DWORD Flags;
128 WORD nFromPage;
129 WORD nToPage;
130 WORD nMinPage;
131 WORD nMaxPage;
132 WORD nCopies;
133 HINSTANCE16 hInstance;
134 LPARAM lCustData;
135 LPPRINTHOOKPROC16 lpfnPrintHook;
136 LPSETUPHOOKPROC16 lpfnSetupHook;
137 SEGPTR lpPrintTemplateName;
138 SEGPTR lpSetupTemplateName;
139 HGLOBAL16 hPrintTemplate;
140 HGLOBAL16 hSetupTemplate;
141 } PRINTDLG16, *LPPRINTDLG16;
143 BOOL16 WINAPI ChooseColor16(LPCHOOSECOLOR16 lpChCol);
144 HWND16 WINAPI FindText16( SEGPTR find);
145 BOOL16 WINAPI GetOpenFileName16(SEGPTR ofn);
146 BOOL16 WINAPI GetSaveFileName16(SEGPTR ofn);
147 BOOL16 WINAPI PrintDlg16( LPPRINTDLG16 print);
148 HWND16 WINAPI ReplaceText16( SEGPTR find);
149 BOOL16 WINAPI ChooseFont16(LPCHOOSEFONT16);
150 BOOL16 CALLBACK ColorDlgProc16( HWND16 hDlg16, UINT16 message, WPARAM16 wParam, LPARAM lParam );
151 BOOL16 CALLBACK FileSaveDlgProc16(HWND16 hWnd16, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
152 BOOL16 CALLBACK FileOpenDlgProc16(HWND16 hWnd16, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
153 INT16 WINAPI FontFamilyEnumProc16( SEGPTR logfont, SEGPTR metrics, UINT16 nFontType, LPARAM lParam );
154 INT16 WINAPI FontStyleEnumProc16( SEGPTR logfont, SEGPTR metrics, UINT16 nFontType, LPARAM lParam);
155 BOOL16 CALLBACK FormatCharDlgProc16(HWND16 hDlg16, UINT16 message, WPARAM16 wParam, LPARAM lParam);
156 short WINAPI GetFileTitle16(LPCSTR lpFile, LPSTR lpTitle, UINT16 cbBuf);
157 BOOL16 CALLBACK PrintDlgProc16(HWND16 hDlg16, UINT16 uMsg, WPARAM16 wParam, LPARAM lParam);
158 BOOL16 CALLBACK PrintSetupDlgProc16(HWND16 hWnd16, UINT16 wMsg, WPARAM16 wParam, LPARAM lParam);
160 #include "poppack.h"
162 #endif /* _WINE_DLL_CDLG16_H */