ole32: Fix wrap-around bug in tick count comparison.
[wine] / dlls / commdlg.dll16 / 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21  */
22
23 #ifndef _WINE_DLL_CDLG16_H
24 #define _WINE_DLL_CDLG16_H
25
26 #include "dlgs.h"
27 #include "wine/windef16.h"
28 #include "wine/winbase16.h"
29 #include "wine/winuser16.h"
30 #include "wownt32.h"
31
32 /* 16 bit api */
33
34 #include "pshpack1.h"
35
36 typedef UINT16 (CALLBACK *LPOFNHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
37
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;
60
61 typedef UINT16 (CALLBACK *LPCCHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
62
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;
75
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;
91
92 typedef UINT16 (CALLBACK *LPCFHOOKPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
93 typedef struct
94 {
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;
116
117
118 typedef UINT16 (CALLBACK *LPPRINTHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
119 typedef UINT16 (CALLBACK *LPSETUPHOOKPROC16) (HWND16, UINT16, WPARAM16, LPARAM);
120 typedef struct
121 {
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;
142
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);
159
160 #include "poppack.h"
161
162 #endif /* _WINE_DLL_CDLG16_H */