comctl32/mru: In EnumMRUListA, ensure that the string is NULL terminated and the...
[wine] / dlls / comctl32 / imagelist.h
1 /*
2  * ImageList definitions
3  *
4  * Copyright 1998 Eric Kohl
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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19  */
20
21 #ifndef __WINE_IMAGELIST_H
22 #define __WINE_IMAGELIST_H
23
24 #include <stdarg.h>
25
26 #include "windef.h"
27 #include "winbase.h"
28 #include "wingdi.h"
29
30 struct _IMAGELIST
31 {
32     const struct IImageListVtbl *lpVtbl; /* 00: IImageList vtable */
33
34     INT         cCurImage;               /* 04: ImageCount */
35     INT         cMaxImage;               /* 08: maximages */
36     INT         cGrow;                   /* 0C: cGrow */
37     INT         cx;                      /* 10: cx */
38     INT         cy;                      /* 14: cy */
39     DWORD       x4;
40     UINT        flags;                   /* 1C: flags */
41     COLORREF    clrFg;                   /* 20: foreground color */
42     COLORREF    clrBk;                   /* 24: background color */
43
44
45     HBITMAP     hbmImage;                /* 28: images Bitmap */
46     HBITMAP     hbmMask;                 /* 2C: masks  Bitmap */
47     HDC         hdcImage;                /* 30: images MemDC  */
48     HDC         hdcMask;                 /* 34: masks  MemDC  */
49     INT         nOvlIdx[15];             /* 38: overlay images index */
50
51     /* not yet found out */
52     HBRUSH  hbrBlend25;
53     HBRUSH  hbrBlend50;
54     INT     cInitial;
55     UINT    uBitsPixel;
56
57     LONG        ref;                     /* reference count */
58 };
59
60 #define IMAGELIST_MAGIC 0x53414D58
61
62 /* Header used by ImageList_Read() and ImageList_Write() */
63 #include "pshpack2.h"
64 typedef struct _ILHEAD
65 {
66     USHORT      usMagic;
67     USHORT      usVersion;
68     WORD        cCurImage;
69     WORD        cMaxImage;
70     WORD        cGrow;
71     WORD        cx;
72     WORD        cy;
73     COLORREF    bkcolor;
74     WORD        flags;
75     SHORT       ovls[4];
76 } ILHEAD;
77 #include "poppack.h"
78
79 #endif  /* __WINE_IMAGELIST_H */