Removed dependencies on the internals of the CLASS structure.
[wine/multimedia.git] / include / button.h
blob09d9590087dec0fcffa8629473464c77f8ee80aa
1 /*
2 * Button-class extra info
4 * Copyright 1994 Alexandre Julliard
5 */
7 #ifndef __WINE_BUTTON_H
8 #define __WINE_BUTTON_H
10 #include "windef.h"
11 #include "wingdi.h"
13 /* Extra info for BUTTON windows */
14 /* Note: under MS-Windows, state is a BYTE and this structure is */
15 /* only 3 bytes long. I don't think there are programs out there */
16 /* broken enough to rely on this :-) */
17 typedef struct
19 WORD state; /* Current state */
20 HFONT16 hFont; /* Button font (or 0 for system font) */
21 HANDLE hImage; /* Handle to the image or the icon */
22 } BUTTONINFO;
24 /* Button state values */
25 #define BUTTON_UNCHECKED 0x00
26 #define BUTTON_CHECKED 0x01
27 #define BUTTON_3STATE 0x02
28 #define BUTTON_HIGHLIGHTED 0x04
29 #define BUTTON_HASFOCUS 0x08
30 #define BUTTON_NSTATES 0x0F
31 /* undocumented flags */
32 #define BUTTON_BTNPRESSED 0x40
33 #define BUTTON_UNKNOWN2 0x20
34 #define BUTTON_UNKNOWN3 0x10
36 #define BUTTON_STATE(hwnd) ((WIN_FindWndPtr(hwnd))->wExtra[0])
38 extern LRESULT WINAPI ButtonWndProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
39 extern LRESULT WINAPI ButtonWndProcW( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam );
41 #endif /* __WINE_BUTTON_H */