Release 960611
[wine] / include / struct32.h
1 /* Structure definitions for Win32 -- used only internally */
2 #ifndef _STRUCT32_H
3 #define _STRUCT32_H
4 #include "handle32.h"
5
6 #ifndef WINELIB
7 #pragma pack(1)
8 #endif
9
10 void STRUCT32_RECT32to16(const RECT32*,RECT16*);
11 void STRUCT32_RECT16to32(const RECT16*,RECT32*);
12 void STRUCT32_POINT32to16(const POINT32*,POINT16*);
13 void STRUCT32_POINT16to32(const POINT16*,POINT32*);
14 void STRUCT32_SIZE16to32(const SIZE16*, SIZE32*);
15
16 extern void STRUCT32_MINMAXINFO32to16( const MINMAXINFO32*, MINMAXINFO16* );
17 extern void STRUCT32_MINMAXINFO16to32( const MINMAXINFO16*, MINMAXINFO32* );
18 extern void STRUCT32_WINDOWPOS32to16( const WINDOWPOS32*, WINDOWPOS16* );
19 extern void STRUCT32_WINDOWPOS16to32( const WINDOWPOS16*, WINDOWPOS32* );
20 extern void STRUCT32_NCCALCSIZE32to16Flat( const NCCALCSIZE_PARAMS32 *from,
21                                            NCCALCSIZE_PARAMS16 *to,
22                                            int validRects );
23 extern void STRUCT32_NCCALCSIZE16to32Flat( const NCCALCSIZE_PARAMS16* from,
24                                            NCCALCSIZE_PARAMS32* to,
25                                            int validRects );
26
27
28 typedef struct {
29         DWORD style;
30         DWORD dwExtendedStyle;
31         WORD noOfItems WINE_PACKED;
32         short x WINE_PACKED;
33         short y WINE_PACKED;
34         WORD cx WINE_PACKED;
35         WORD cy WINE_PACKED;
36 } DLGTEMPLATE32;
37
38 void STRUCT32_MSG16to32(const MSG16 *msg16,MSG32 *msg32);
39 void STRUCT32_MSG32to16(const MSG32 *msg32,MSG16 *msg16);
40
41 void STRUCT32_CREATESTRUCT32Ato16(const CREATESTRUCT32A*,CREATESTRUCT16*);
42 void STRUCT32_CREATESTRUCT16to32A(const CREATESTRUCT16*,CREATESTRUCT32A*);
43
44 typedef struct {
45         BYTE   bWidth;
46         BYTE   bHeight;
47         BYTE   bColorCount;
48         BYTE   bReserved;
49         WORD   wPlanes;
50         WORD   wBitCount;
51         DWORD  dwBytesInRes;
52         WORD   wResId WINE_PACKED;
53         /*WORD   padding;       Spec is wrong, no padding here*/
54 } ICONDIRENTRY32;
55
56 typedef struct {
57         WORD   wWidth;
58         WORD   wHeight;
59         WORD   wPlanes;
60         WORD   wBitCount;
61         DWORD  dwBytesInRes;
62         WORD   wResId WINE_PACKED;
63         /*WORD   padding;*/
64 } CURSORDIRENTRY32;
65
66 typedef union{
67         ICONDIRENTRY32  icon;
68         CURSORDIRENTRY32        cursor;
69 } CURSORICONDIRENTRY32;
70
71 typedef struct {
72         WORD    idReserved;
73         WORD    idType;
74         WORD    idCount;
75         /*WORD  padding;*/
76         CURSORICONDIRENTRY32    idEntries[1];
77 } CURSORICONDIR32;
78
79
80
81 #ifndef WINELIB
82 #pragma pack(4)
83 #endif
84
85 #endif