2 * Win32 structure conversion functions
4 * Copyright 1996 Martin von Loewis
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
26 void STRUCT32_MSG16to32(const MSG16
*msg16
,MSG
*msg32
)
28 msg32
->hwnd
= WIN_Handle32(msg16
->hwnd
);
29 msg32
->message
=msg16
->message
;
30 msg32
->wParam
=msg16
->wParam
;
31 msg32
->lParam
=msg16
->lParam
;
32 msg32
->time
=msg16
->time
;
33 msg32
->pt
.x
=msg16
->pt
.x
;
34 msg32
->pt
.y
=msg16
->pt
.y
;
37 void STRUCT32_MSG32to16(const MSG
*msg32
,MSG16
*msg16
)
39 msg16
->hwnd
= HWND_16(msg32
->hwnd
);
40 msg16
->message
=msg32
->message
;
41 msg16
->wParam
=msg32
->wParam
;
42 msg16
->lParam
=msg32
->lParam
;
43 msg16
->time
=msg32
->time
;
44 msg16
->pt
.x
=msg32
->pt
.x
;
45 msg16
->pt
.y
=msg32
->pt
.y
;
48 void STRUCT32_MINMAXINFO32to16( const MINMAXINFO
*from
, MINMAXINFO16
*to
)
50 CONV_POINT32TO16( &from
->ptReserved
, &to
->ptReserved
);
51 CONV_POINT32TO16( &from
->ptMaxSize
, &to
->ptMaxSize
);
52 CONV_POINT32TO16( &from
->ptMaxPosition
, &to
->ptMaxPosition
);
53 CONV_POINT32TO16( &from
->ptMinTrackSize
, &to
->ptMinTrackSize
);
54 CONV_POINT32TO16( &from
->ptMaxTrackSize
, &to
->ptMaxTrackSize
);
57 void STRUCT32_MINMAXINFO16to32( const MINMAXINFO16
*from
, MINMAXINFO
*to
)
59 CONV_POINT16TO32( &from
->ptReserved
, &to
->ptReserved
);
60 CONV_POINT16TO32( &from
->ptMaxSize
, &to
->ptMaxSize
);
61 CONV_POINT16TO32( &from
->ptMaxPosition
, &to
->ptMaxPosition
);
62 CONV_POINT16TO32( &from
->ptMinTrackSize
, &to
->ptMinTrackSize
);
63 CONV_POINT16TO32( &from
->ptMaxTrackSize
, &to
->ptMaxTrackSize
);
66 void STRUCT32_WINDOWPOS32to16( const WINDOWPOS
* from
, WINDOWPOS16
* to
)
68 to
->hwnd
= HWND_16(from
->hwnd
);
69 to
->hwndInsertAfter
= HWND_16(from
->hwndInsertAfter
);
74 to
->flags
= from
->flags
;
77 void STRUCT32_WINDOWPOS16to32( const WINDOWPOS16
* from
, WINDOWPOS
* to
)
79 to
->hwnd
= WIN_Handle32(from
->hwnd
);
80 to
->hwndInsertAfter
= (from
->hwndInsertAfter
== (HWND16
)-1) ?
81 HWND_TOPMOST
: WIN_Handle32(from
->hwndInsertAfter
);
86 to
->flags
= from
->flags
;
89 /* The strings are not copied */
90 void STRUCT32_CREATESTRUCT32Ato16( const CREATESTRUCTA
* from
,
93 to
->lpCreateParams
= from
->lpCreateParams
;
94 to
->hInstance
= HINSTANCE_16(from
->hInstance
);
95 to
->hMenu
= HMENU_16(from
->hMenu
);
96 to
->hwndParent
= HWND_16(from
->hwndParent
);
101 to
->style
= from
->style
;
102 to
->dwExStyle
= from
->dwExStyle
;
105 void STRUCT32_CREATESTRUCT16to32A( const CREATESTRUCT16
* from
,
108 to
->lpCreateParams
= from
->lpCreateParams
;
109 to
->hInstance
= HINSTANCE_32(from
->hInstance
);
110 to
->hMenu
= HMENU_32(from
->hMenu
);
111 to
->hwndParent
= WIN_Handle32(from
->hwndParent
);
116 to
->style
= from
->style
;
117 to
->dwExStyle
= from
->dwExStyle
;
120 /* The strings are not copied */
121 void STRUCT32_MDICREATESTRUCT32Ato16( const MDICREATESTRUCTA
* from
,
122 MDICREATESTRUCT16
* to
)
124 to
->hOwner
= HINSTANCE_16(from
->hOwner
);
129 to
->style
= from
->style
;
130 to
->lParam
= from
->lParam
;
133 void STRUCT32_MDICREATESTRUCT16to32A( const MDICREATESTRUCT16
* from
,
134 MDICREATESTRUCTA
*to
)
136 to
->hOwner
= HINSTANCE_32(from
->hOwner
);
141 to
->style
= from
->style
;
142 to
->lParam
= from
->lParam
;