Added LGPL standard comment, and copyright notices where necessary.
[wine] / include / cursoricon.h
1 /*
2  * Cursor and icon definitions
3  *
4  * Copyright 1995 Alexandre Julliard
5  *
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.
10  *
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.
15  *
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
19  */
20
21 #ifndef __WINE_CURSORICON_H
22 #define __WINE_CURSORICON_H
23
24 #include "windef.h"
25
26 #include "pshpack1.h"
27
28 typedef struct
29 {
30     BYTE   bWidth;
31     BYTE   bHeight;
32     BYTE   bColorCount;
33     BYTE   bReserved;
34 } ICONRESDIR;
35
36 typedef struct
37 {
38     WORD   wWidth;
39     WORD   wHeight;
40 } CURSORDIR;
41
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;
52
53 typedef struct
54 {
55     WORD                idReserved;
56     WORD                idType;
57     WORD                idCount;
58     CURSORICONDIRENTRY  idEntries[1] WINE_PACKED;
59 } CURSORICONDIR;
60
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;
71
72 typedef struct
73 {
74     WORD                idReserved;
75     WORD                idType;
76     WORD                idCount;
77     CURSORICONFILEDIRENTRY  idEntries[1];
78 } CURSORICONFILEDIR;
79
80
81 #include "poppack.h"
82
83 #define CID_RESOURCE  0x0001
84 #define CID_WIN32     0x0004
85 #define CID_NONSHARED 0x0008
86
87 extern HCURSOR16 CURSORICON_IconToCursor( HICON16 hIcon,
88                                           BOOL bSemiTransparent );
89
90 extern HGLOBAL CURSORICON_Load( HINSTANCE hInstance, LPCWSTR name,
91                                 int width, int height, int colors,
92                                 BOOL fCursor, UINT loadflags);
93
94 extern HGLOBAL CURSORICON_ExtCopy(HGLOBAL handle, UINT type, 
95                                   INT desiredx, INT desiredy, 
96                                   UINT flags);
97 extern void CURSORICON_FreeModuleIcons( HMODULE hModule );
98
99 #endif /* __WINE_CURSORICON_H */