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