Compile fix for multi-threaded perl.
[wine/multimedia.git] / include / cursoricon.h
blob1ec053f57032379b79fffad33415bab3e978dce7
1 /*
2 * Cursor and icon definitions
4 * Copyright 1995 Alexandre Julliard
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #ifndef __WINE_CURSORICON_H
22 #define __WINE_CURSORICON_H
24 #include "windef.h"
26 #include "pshpack1.h"
28 typedef struct
30 BYTE bWidth;
31 BYTE bHeight;
32 BYTE bColorCount;
33 BYTE bReserved;
34 } ICONRESDIR;
36 typedef struct
38 WORD wWidth;
39 WORD wHeight;
40 } CURSORDIR;
42 typedef struct
43 { union
44 { ICONRESDIR icon;
45 CURSORDIR cursor;
46 } ResInfo;
47 WORD wPlanes;
48 WORD wBitCount;
49 DWORD dwBytesInRes;
50 WORD wResId;
51 } CURSORICONDIRENTRY;
53 typedef struct
55 WORD idReserved;
56 WORD idType;
57 WORD idCount;
58 CURSORICONDIRENTRY idEntries[1] WINE_PACKED;
59 } CURSORICONDIR;
61 typedef struct {
62 BYTE bWidth;
63 BYTE bHeight;
64 BYTE bColorCount;
65 BYTE bReserved;
66 WORD xHotspot;
67 WORD yHotspot;
68 DWORD dwDIBSize;
69 DWORD dwDIBOffset;
70 } CURSORICONFILEDIRENTRY;
72 typedef struct
74 WORD idReserved;
75 WORD idType;
76 WORD idCount;
77 CURSORICONFILEDIRENTRY idEntries[1];
78 } CURSORICONFILEDIR;
81 #include "poppack.h"
83 #define CID_RESOURCE 0x0001
84 #define CID_WIN32 0x0004
85 #define CID_NONSHARED 0x0008
87 extern HGLOBAL CURSORICON_Load( HINSTANCE hInstance, LPCWSTR name,
88 int width, int height, int colors,
89 BOOL fCursor, UINT loadflags);
91 extern HGLOBAL CURSORICON_ExtCopy(HGLOBAL handle, UINT type,
92 INT desiredx, INT desiredy,
93 UINT flags);
94 extern void CURSORICON_FreeModuleIcons( HMODULE hModule );
96 #endif /* __WINE_CURSORICON_H */