Release 960717
[wine] / include / winuser.h
1 /*
2  * USER definitions
3  *
4  * Copyright 1996 Alexandre Julliard
5  */
6
7 #ifndef __WINE_WINUSER_H
8 #define __WINE_WINUSER_H
9
10 #include "wintypes.h"
11
12
13 /* Window classes */
14
15 typedef struct
16 {
17     UINT32      style;
18     WNDPROC32   lpfnWndProc;
19     INT32       cbClsExtra;
20     INT32       cbWndExtra;
21     HINSTANCE32 hInstance;
22     HICON32     hIcon;
23     HCURSOR32   hCursor;
24     HBRUSH32    hbrBackground;
25     LPCSTR      lpszMenuName;
26     LPCSTR      lpszClassName;
27 } WNDCLASS32A, *LPWNDCLASS32A;
28
29 typedef struct
30 {
31     UINT32      style;
32     WNDPROC32   lpfnWndProc;
33     INT32       cbClsExtra;
34     INT32       cbWndExtra;
35     HINSTANCE32 hInstance;
36     HICON32     hIcon;
37     HCURSOR32   hCursor;
38     HBRUSH32    hbrBackground;
39     LPCWSTR     lpszMenuName;
40     LPCWSTR     lpszClassName;
41 } WNDCLASS32W, *LPWNDCLASS32W;
42
43 #pragma pack(1)
44
45 typedef struct
46 {
47     UINT16      style;
48     WNDPROC16   lpfnWndProc WINE_PACKED;
49     INT16       cbClsExtra;
50     INT16       cbWndExtra;
51     HANDLE16    hInstance;
52     HICON16     hIcon;
53     HCURSOR16   hCursor;
54     HBRUSH16    hbrBackground;
55     SEGPTR      lpszMenuName WINE_PACKED;
56     SEGPTR      lpszClassName WINE_PACKED;
57 } WNDCLASS16, *LPWNDCLASS16;
58
59 #pragma pack(4)
60
61 typedef struct
62 {
63     UINT32      cbSize;
64     UINT32      style;
65     WNDPROC32   lpfnWndProc;
66     INT32       cbClsExtra;
67     INT32       cbWndExtra;
68     HINSTANCE32 hInstance;
69     HICON32     hIcon;
70     HCURSOR32   hCursor;
71     HBRUSH32    hbrBackground;
72     LPCSTR      lpszMenuName;
73     LPCSTR      lpszClassName;
74     HICON32     hIconSm;
75 } WNDCLASSEX32A, *LPWNDCLASSEX32A;
76
77 typedef struct
78 {
79     UINT32      cbSize;
80     UINT32      style;
81     WNDPROC32   lpfnWndProc;
82     INT32       cbClsExtra;
83     INT32       cbWndExtra;
84     HINSTANCE32 hInstance;
85     HICON32     hIcon;
86     HCURSOR32   hCursor;
87     HBRUSH32    hbrBackground;
88     LPCWSTR     lpszMenuName;
89     LPCWSTR     lpszClassName;
90     HICON32     hIconSm;
91 } WNDCLASSEX32W, *LPWNDCLASSEX32W;
92
93 typedef struct
94 {
95     UINT32      cbSize;
96     UINT32      style;
97     WNDPROC16   lpfnWndProc;
98     INT16       cbClsExtra;
99     INT16       cbWndExtra;
100     HANDLE16    hInstance;
101     HICON16     hIcon;
102     HCURSOR16   hCursor;
103     HBRUSH16    hbrBackground;
104     SEGPTR      lpszMenuName;
105     SEGPTR      lpszClassName;
106     HICON16     hIconSm;
107 } WNDCLASSEX16, *LPWNDCLASSEX16;
108
109 DECL_WINELIB_TYPE_AW(WNDCLASS);
110 DECL_WINELIB_TYPE_AW(LPWNDCLASS);
111 DECL_WINELIB_TYPE_AW(WNDCLASSEX);
112 DECL_WINELIB_TYPE_AW(LPWNDCLASSEX);
113
114 #define CS_VREDRAW          0x0001
115 #define CS_HREDRAW          0x0002
116 #define CS_KEYCVTWINDOW     0x0004
117 #define CS_DBLCLKS          0x0008
118 #define CS_OWNDC            0x0020
119 #define CS_CLASSDC          0x0040
120 #define CS_PARENTDC         0x0080
121 #define CS_NOKEYCVT         0x0100
122 #define CS_NOCLOSE          0x0200
123 #define CS_SAVEBITS         0x0800
124 #define CS_BYTEALIGNCLIENT  0x1000
125 #define CS_BYTEALIGNWINDOW  0x2000
126 #define CS_GLOBALCLASS      0x4000
127
128   /* Offsets for GetClassLong() and GetClassWord() */
129 #define GCL_MENUNAME        (-8)
130 #define GCW_HBRBACKGROUND   (-10)
131 #define GCL_HBRBACKGROUND   GCW_HBRBACKGROUND
132 #define GCW_HCURSOR         (-12)
133 #define GCL_HCURSOR         GCW_HCURSOR
134 #define GCW_HICON           (-14)
135 #define GCL_HICON           GCW_HICON
136 #define GCW_HMODULE         (-16)
137 #define GCL_HMODULE         GCW_HMODULE
138 #define GCW_CBWNDEXTRA      (-18)
139 #define GCL_CBWNDEXTRA      GCW_CBWNDEXTRA
140 #define GCW_CBCLSEXTRA      (-20)
141 #define GCL_CBCLSEXTRA      GCW_CBCLSEXTRA
142 #define GCL_WNDPROC         (-24)
143 #define GCW_STYLE           (-26)
144 #define GCL_STYLE           GCW_STYLE
145 #define GCW_ATOM            (-32)
146 #define GCW_HICONSM         (-34)
147 #define GCL_HICONSM         GCW_HICONSM
148
149 #endif  /* __WINE_WINUSER_H */