Release 960606
[wine] / include / class.h
1 /*
2  * Window classes definitions
3  *
4  * Copyright 1993 Alexandre Julliard
5  */
6
7 #ifndef CLASS_H
8 #define CLASS_H
9
10 #include "windows.h"
11
12 #define CLASS_MAGIC   ('C' | ('L' << 8) | ('A' << 16) | ('S' << 24))
13
14 typedef struct tagCLASS
15 {
16     struct tagCLASS *next;          /* Next class */
17     UINT32           magic;         /* Magic number */
18     UINT32           cWindows;      /* Count of existing windows */
19     UINT32           style;         /* Class style */
20     HANDLE32         winproc;       /* Window procedure */ 
21     INT32            cbClsExtra;    /* Class extra bytes */
22     INT32            cbWndExtra;    /* Window extra bytes */
23     LPSTR            menuNameA;     /* Default menu name (ASCII string) */
24     LPWSTR           menuNameW;     /* Default menu name (Unicode) */
25     HINSTANCE32      hInstance;     /* Module that created the task */
26     HICON16          hIcon;         /* Default icon */
27     HICON16          hIconSm;       /* Default small icon */
28     HCURSOR16        hCursor;       /* Default cursor */
29     HBRUSH16         hbrBackground; /* Default background */
30     ATOM             atomName;      /* Name of the class */
31     HANDLE16         hdce;          /* Class DCE (if CS_CLASSDC) */
32     LONG             wExtra[1];     /* Class extra bytes */
33 } CLASS;
34
35 extern void CLASS_DumpClass( CLASS *class );
36 extern void CLASS_WalkClasses(void);
37 extern void CLASS_FreeModuleClasses( HMODULE hModule );
38 extern CLASS *CLASS_FindClassByAtom( ATOM atom, HINSTANCE16 hinstance );
39 extern CLASS * CLASS_FindClassByName( SEGPTR name, HINSTANCE hinstance );
40
41 #endif  /* CLASS_H */