Release 991031.
[wine] / include / cursoricon.h
1 /*
2  * Cursor and icon definitions
3  *
4  * Copyright 1995 Alexandre Julliard
5  */
6
7 #ifndef __WINE_CURSORICON_H
8 #define __WINE_CURSORICON_H
9
10 #include "windef.h"
11
12 #include "pshpack1.h"
13
14 typedef struct
15 {
16     BYTE   bWidth;
17     BYTE   bHeight;
18     BYTE   bColorCount;
19     BYTE   bReserved;
20 } ICONRESDIR;
21
22 typedef struct
23 {
24     WORD   wWidth;
25     WORD   wHeight;
26 } CURSORDIR;
27
28 typedef struct
29 {   union
30     { ICONRESDIR icon;
31       CURSORDIR  cursor;
32     } ResInfo;
33     WORD   wPlanes;
34     WORD   wBitCount;
35     DWORD  dwBytesInRes;
36     WORD   wResId;
37 } CURSORICONDIRENTRY;
38
39 typedef struct
40 {
41     WORD                idReserved;
42     WORD                idType;
43     WORD                idCount;
44     CURSORICONDIRENTRY  idEntries[1] WINE_PACKED;
45 } CURSORICONDIR;
46
47 typedef struct {
48     BYTE bWidth;
49     BYTE bHeight;
50     BYTE bColorCount;
51     BYTE bReserved;
52     WORD xHotspot;
53     WORD yHotspot;
54     DWORD dwDIBSize;
55     DWORD dwDIBOffset;
56 } CURSORICONFILEDIRENTRY;
57
58 typedef struct
59 {
60     WORD                idReserved;
61     WORD                idType;
62     WORD                idCount;
63     CURSORICONFILEDIRENTRY  idEntries[1];
64 } CURSORICONFILEDIR;
65
66
67 #include "poppack.h"
68
69 #define CID_RESOURCE  0x0001
70 #define CID_WIN32     0x0004
71 #define CID_NONSHARED 0x0008
72
73 extern void CURSORICON_Init( void );
74
75 extern HCURSOR16 CURSORICON_IconToCursor( HICON16 hIcon,
76                                           BOOL bSemiTransparent );
77
78 extern HGLOBAL CURSORICON_Load( HINSTANCE hInstance, LPCWSTR name,
79                                 int width, int height, int colors,
80                                 BOOL fCursor, UINT loadflags);
81
82 extern HGLOBAL CURSORICON_ExtCopy(HGLOBAL handle, UINT type, 
83                                   INT desiredx, INT desiredy, 
84                                   UINT flags);
85
86 extern WORD WINAPI CURSORICON_Destroy( HGLOBAL16 handle, UINT16 flags );
87
88 extern void CURSORICON_FreeModuleIcons( HMODULE hModule );
89                                     
90 #endif /* __WINE_CURSORICON_H */