Bug fixes (thanks to Juergen Schmied).
[wine/multimedia.git] / include / cursoricon.h
blobcf513d7b2b6bacccd7fddaf466ac383f170a1815
1 /*
2 * Cursor and icon definitions
4 * Copyright 1995 Alexandre Julliard
5 */
7 #ifndef __WINE_CURSORICON_H
8 #define __WINE_CURSORICON_H
10 #include "windef.h"
12 #include "pshpack1.h"
14 typedef struct
16 BYTE bWidth;
17 BYTE bHeight;
18 BYTE bColorCount;
19 BYTE bReserved;
20 } ICONRESDIR;
22 typedef struct
24 WORD wWidth;
25 WORD wHeight;
26 } CURSORDIR;
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;
39 typedef struct
41 WORD idReserved;
42 WORD idType;
43 WORD idCount;
44 CURSORICONDIRENTRY idEntries[1] WINE_PACKED;
45 } CURSORICONDIR;
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;
58 typedef struct
60 WORD idReserved;
61 WORD idType;
62 WORD idCount;
63 CURSORICONFILEDIRENTRY idEntries[1];
64 } CURSORICONFILEDIR;
67 #include "poppack.h"
69 #define CID_RESOURCE 0x0001
70 #define CID_WIN32 0x0004
71 #define CID_NONSHARED 0x0008
73 extern void CURSORICON_Init( void );
75 extern HCURSOR16 CURSORICON_IconToCursor( HICON16 hIcon,
76 BOOL bSemiTransparent );
78 extern HGLOBAL CURSORICON_Load( HINSTANCE hInstance, LPCWSTR name,
79 int width, int height, int colors,
80 BOOL fCursor, UINT loadflags);
82 extern HGLOBAL CURSORICON_ExtCopy(HGLOBAL handle, UINT type,
83 INT desiredx, INT desiredy,
84 UINT flags);
86 extern WORD WINAPI CURSORICON_Destroy( HGLOBAL16 handle, UINT16 flags );
88 extern void CURSORICON_FreeModuleIcons( HMODULE hModule );
90 #endif /* __WINE_CURSORICON_H */