Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
8494682f
Commit
8494682f
authored
Dec 17, 2009
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
user32: Move 16-bit window creation functions to 16-bit files.
parent
4b3c0e31
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
85 additions
and
82 deletions
+85
-82
controls.h
dlls/user32/controls.h
+1
-0
msg16.c
dlls/user32/msg16.c
+67
-0
win.c
dlls/user32/win.c
+2
-82
win.h
dlls/user32/win.h
+1
-0
winproc.c
dlls/user32/winproc.c
+1
-0
wnd16.c
dlls/user32/wnd16.c
+13
-0
No files found.
dlls/user32/controls.h
View file @
8494682f
...
@@ -98,6 +98,7 @@ struct wow_handlers32
...
@@ -98,6 +98,7 @@ struct wow_handlers32
LRESULT
(
*
mdiclient_proc
)(
HWND
,
UINT
,
WPARAM
,
LPARAM
,
BOOL
);
LRESULT
(
*
mdiclient_proc
)(
HWND
,
UINT
,
WPARAM
,
LPARAM
,
BOOL
);
LRESULT
(
*
scrollbar_proc
)(
HWND
,
UINT
,
WPARAM
,
LPARAM
,
BOOL
);
LRESULT
(
*
scrollbar_proc
)(
HWND
,
UINT
,
WPARAM
,
LPARAM
,
BOOL
);
LRESULT
(
*
static_proc
)(
HWND
,
UINT
,
WPARAM
,
LPARAM
,
BOOL
);
LRESULT
(
*
static_proc
)(
HWND
,
UINT
,
WPARAM
,
LPARAM
,
BOOL
);
HWND
(
*
create_window
)(
CREATESTRUCTW
*
,
LPCWSTR
,
HINSTANCE
,
UINT
);
WNDPROC
(
*
alloc_winproc
)(
WNDPROC
,
WNDPROC
);
WNDPROC
(
*
alloc_winproc
)(
WNDPROC
,
WNDPROC
);
};
};
...
...
dlls/user32/msg16.c
View file @
8494682f
...
@@ -2003,6 +2003,73 @@ BOOL16 WINAPI TranslateMDISysAccel16( HWND16 hwndClient, LPMSG16 msg )
...
@@ -2003,6 +2003,73 @@ BOOL16 WINAPI TranslateMDISysAccel16( HWND16 hwndClient, LPMSG16 msg )
/***********************************************************************
/***********************************************************************
* CreateWindowEx (USER.452)
*/
HWND16
WINAPI
CreateWindowEx16
(
DWORD
exStyle
,
LPCSTR
className
,
LPCSTR
windowName
,
DWORD
style
,
INT16
x
,
INT16
y
,
INT16
width
,
INT16
height
,
HWND16
parent
,
HMENU16
menu
,
HINSTANCE16
instance
,
LPVOID
data
)
{
CREATESTRUCTA
cs
;
char
buffer
[
256
];
HWND
hwnd
;
/* Fix the coordinates */
cs
.
x
=
(
x
==
CW_USEDEFAULT16
)
?
CW_USEDEFAULT
:
(
INT
)
x
;
cs
.
y
=
(
y
==
CW_USEDEFAULT16
)
?
CW_USEDEFAULT
:
(
INT
)
y
;
cs
.
cx
=
(
width
==
CW_USEDEFAULT16
)
?
CW_USEDEFAULT
:
(
INT
)
width
;
cs
.
cy
=
(
height
==
CW_USEDEFAULT16
)
?
CW_USEDEFAULT
:
(
INT
)
height
;
/* Create the window */
cs
.
lpCreateParams
=
data
;
cs
.
hInstance
=
HINSTANCE_32
(
instance
);
cs
.
hMenu
=
HMENU_32
(
menu
);
cs
.
hwndParent
=
WIN_Handle32
(
parent
);
cs
.
style
=
style
;
cs
.
lpszName
=
windowName
;
cs
.
lpszClass
=
className
;
cs
.
dwExStyle
=
exStyle
;
/* map to module handle */
if
(
instance
)
instance
=
GetExePtr
(
instance
);
/* load the menu */
if
(
!
menu
&&
(
style
&
(
WS_CHILD
|
WS_POPUP
))
!=
WS_CHILD
)
{
WNDCLASSA
class
;
if
(
GetClassInfoA
(
HINSTANCE_32
(
instance
),
className
,
&
class
))
cs
.
hMenu
=
HMENU_32
(
LoadMenu16
(
instance
,
class
.
lpszMenuName
));
}
if
(
!
IS_INTRESOURCE
(
className
))
{
WCHAR
bufferW
[
256
];
if
(
!
MultiByteToWideChar
(
CP_ACP
,
0
,
className
,
-
1
,
bufferW
,
sizeof
(
bufferW
)
/
sizeof
(
WCHAR
)
))
return
0
;
hwnd
=
wow_handlers32
.
create_window
(
(
CREATESTRUCTW
*
)
&
cs
,
bufferW
,
HINSTANCE_32
(
instance
),
0
);
}
else
{
if
(
!
GlobalGetAtomNameA
(
LOWORD
(
className
),
buffer
,
sizeof
(
buffer
)
))
{
ERR
(
"bad atom %x
\n
"
,
LOWORD
(
className
));
return
0
;
}
cs
.
lpszClass
=
buffer
;
hwnd
=
wow_handlers32
.
create_window
(
(
CREATESTRUCTW
*
)
&
cs
,
(
LPCWSTR
)
className
,
HINSTANCE_32
(
instance
),
0
);
}
return
HWND_16
(
hwnd
);
}
/***********************************************************************
* button_proc16
* button_proc16
*/
*/
static
LRESULT
button_proc16
(
HWND
hwnd
,
UINT
msg
,
WPARAM
wParam
,
LPARAM
lParam
,
BOOL
unicode
)
static
LRESULT
button_proc16
(
HWND
hwnd
,
UINT
msg
,
WPARAM
wParam
,
LPARAM
lParam
,
BOOL
unicode
)
...
...
dlls/user32/win.c
View file @
8494682f
...
@@ -27,9 +27,6 @@
...
@@ -27,9 +27,6 @@
#include <string.h>
#include <string.h>
#include "windef.h"
#include "windef.h"
#include "winbase.h"
#include "winbase.h"
#include "wine/winbase16.h"
#include "wine/winuser16.h"
#include "wownt32.h"
#include "wine/server.h"
#include "wine/server.h"
#include "wine/unicode.h"
#include "wine/unicode.h"
#include "win.h"
#include "win.h"
...
@@ -884,7 +881,7 @@ void WIN_DestroyThreadWindows( HWND hwnd )
...
@@ -884,7 +881,7 @@ void WIN_DestroyThreadWindows( HWND hwnd )
*/
*/
static
void
WIN_FixCoordinates
(
CREATESTRUCTW
*
cs
,
INT
*
sw
)
static
void
WIN_FixCoordinates
(
CREATESTRUCTW
*
cs
,
INT
*
sw
)
{
{
#define IS_DEFAULT(x) ((x) == CW_USEDEFAULT || (x) ==
CW_USEDEFAULT16
)
#define IS_DEFAULT(x) ((x) == CW_USEDEFAULT || (x) ==
(SHORT)0x8000
)
POINT
pos
[
2
];
POINT
pos
[
2
];
if
(
cs
->
dwExStyle
&
WS_EX_MDICHILD
)
if
(
cs
->
dwExStyle
&
WS_EX_MDICHILD
)
...
@@ -1072,7 +1069,7 @@ static void dump_window_styles( DWORD style, DWORD exstyle )
...
@@ -1072,7 +1069,7 @@ static void dump_window_styles( DWORD style, DWORD exstyle )
*
*
* Implementation of CreateWindowEx().
* Implementation of CreateWindowEx().
*/
*/
static
HWND
WIN_CreateWindowEx
(
CREATESTRUCTW
*
cs
,
LPCWSTR
className
,
HINSTANCE
module
,
UINT
flags
)
HWND
WIN_CreateWindowEx
(
CREATESTRUCTW
*
cs
,
LPCWSTR
className
,
HINSTANCE
module
,
UINT
flags
)
{
{
INT
cx
,
cy
,
style
,
sw
=
SW_SHOW
;
INT
cx
,
cy
,
style
,
sw
=
SW_SHOW
;
LRESULT
result
;
LRESULT
result
;
...
@@ -1440,83 +1437,6 @@ failed:
...
@@ -1440,83 +1437,6 @@ failed:
/***********************************************************************
/***********************************************************************
* CreateWindow (USER.41)
*/
HWND16
WINAPI
CreateWindow16
(
LPCSTR
className
,
LPCSTR
windowName
,
DWORD
style
,
INT16
x
,
INT16
y
,
INT16
width
,
INT16
height
,
HWND16
parent
,
HMENU16
menu
,
HINSTANCE16
instance
,
LPVOID
data
)
{
return
CreateWindowEx16
(
0
,
className
,
windowName
,
style
,
x
,
y
,
width
,
height
,
parent
,
menu
,
instance
,
data
);
}
/***********************************************************************
* CreateWindowEx (USER.452)
*/
HWND16
WINAPI
CreateWindowEx16
(
DWORD
exStyle
,
LPCSTR
className
,
LPCSTR
windowName
,
DWORD
style
,
INT16
x
,
INT16
y
,
INT16
width
,
INT16
height
,
HWND16
parent
,
HMENU16
menu
,
HINSTANCE16
instance
,
LPVOID
data
)
{
CREATESTRUCTA
cs
;
char
buffer
[
256
];
/* Fix the coordinates */
cs
.
x
=
(
x
==
CW_USEDEFAULT16
)
?
CW_USEDEFAULT
:
(
INT
)
x
;
cs
.
y
=
(
y
==
CW_USEDEFAULT16
)
?
CW_USEDEFAULT
:
(
INT
)
y
;
cs
.
cx
=
(
width
==
CW_USEDEFAULT16
)
?
CW_USEDEFAULT
:
(
INT
)
width
;
cs
.
cy
=
(
height
==
CW_USEDEFAULT16
)
?
CW_USEDEFAULT
:
(
INT
)
height
;
/* Create the window */
cs
.
lpCreateParams
=
data
;
cs
.
hInstance
=
HINSTANCE_32
(
instance
);
cs
.
hMenu
=
HMENU_32
(
menu
);
cs
.
hwndParent
=
WIN_Handle32
(
parent
);
cs
.
style
=
style
;
cs
.
lpszName
=
windowName
;
cs
.
lpszClass
=
className
;
cs
.
dwExStyle
=
exStyle
;
/* map to module handle */
if
(
instance
)
instance
=
GetExePtr
(
instance
);
/* load the menu */
if
(
!
menu
&&
(
style
&
(
WS_CHILD
|
WS_POPUP
))
!=
WS_CHILD
)
{
WNDCLASSA
class
;
if
(
GetClassInfoA
(
HINSTANCE_32
(
instance
),
className
,
&
class
))
cs
.
hMenu
=
HMENU_32
(
LoadMenu16
(
instance
,
class
.
lpszMenuName
));
}
if
(
!
IS_INTRESOURCE
(
className
))
{
WCHAR
bufferW
[
256
];
if
(
!
MultiByteToWideChar
(
CP_ACP
,
0
,
className
,
-
1
,
bufferW
,
sizeof
(
bufferW
)
/
sizeof
(
WCHAR
)
))
return
0
;
return
HWND_16
(
WIN_CreateWindowEx
(
(
CREATESTRUCTW
*
)
&
cs
,
bufferW
,
HINSTANCE_32
(
instance
),
0
));
}
else
{
if
(
!
GlobalGetAtomNameA
(
LOWORD
(
className
),
buffer
,
sizeof
(
buffer
)
))
{
ERR
(
"bad atom %x
\n
"
,
LOWORD
(
className
));
return
0
;
}
cs
.
lpszClass
=
buffer
;
return
HWND_16
(
WIN_CreateWindowEx
(
(
CREATESTRUCTW
*
)
&
cs
,
(
LPCWSTR
)
className
,
HINSTANCE_32
(
instance
),
0
));
}
}
/***********************************************************************
* CreateWindowExA (USER32.@)
* CreateWindowExA (USER32.@)
*/
*/
HWND
WINAPI
CreateWindowExA
(
DWORD
exStyle
,
LPCSTR
className
,
HWND
WINAPI
CreateWindowExA
(
DWORD
exStyle
,
LPCSTR
className
,
...
...
dlls/user32/win.h
View file @
8494682f
...
@@ -87,6 +87,7 @@ extern ULONG WIN_SetStyle( HWND hwnd, ULONG set_bits, ULONG clear_bits ) DECLSPE
...
@@ -87,6 +87,7 @@ extern ULONG WIN_SetStyle( HWND hwnd, ULONG set_bits, ULONG clear_bits ) DECLSPE
extern
BOOL
WIN_GetRectangles
(
HWND
hwnd
,
RECT
*
rectWindow
,
RECT
*
rectClient
)
DECLSPEC_HIDDEN
;
extern
BOOL
WIN_GetRectangles
(
HWND
hwnd
,
RECT
*
rectWindow
,
RECT
*
rectClient
)
DECLSPEC_HIDDEN
;
extern
LRESULT
WIN_DestroyWindow
(
HWND
hwnd
)
DECLSPEC_HIDDEN
;
extern
LRESULT
WIN_DestroyWindow
(
HWND
hwnd
)
DECLSPEC_HIDDEN
;
extern
void
WIN_DestroyThreadWindows
(
HWND
hwnd
)
DECLSPEC_HIDDEN
;
extern
void
WIN_DestroyThreadWindows
(
HWND
hwnd
)
DECLSPEC_HIDDEN
;
extern
HWND
WIN_CreateWindowEx
(
CREATESTRUCTW
*
cs
,
LPCWSTR
className
,
HINSTANCE
module
,
UINT
flags
)
DECLSPEC_HIDDEN
;
extern
BOOL
WIN_IsWindowDrawable
(
HWND
hwnd
,
BOOL
)
DECLSPEC_HIDDEN
;
extern
BOOL
WIN_IsWindowDrawable
(
HWND
hwnd
,
BOOL
)
DECLSPEC_HIDDEN
;
extern
HWND
*
WIN_ListChildren
(
HWND
hwnd
)
DECLSPEC_HIDDEN
;
extern
HWND
*
WIN_ListChildren
(
HWND
hwnd
)
DECLSPEC_HIDDEN
;
extern
LONG_PTR
WIN_SetWindowLong
(
HWND
hwnd
,
INT
offset
,
UINT
size
,
LONG_PTR
newval
,
BOOL
unicode
)
DECLSPEC_HIDDEN
;
extern
LONG_PTR
WIN_SetWindowLong
(
HWND
hwnd
,
INT
offset
,
UINT
size
,
LONG_PTR
newval
,
BOOL
unicode
)
DECLSPEC_HIDDEN
;
...
...
dlls/user32/winproc.c
View file @
8494682f
...
@@ -1135,6 +1135,7 @@ void WINAPI UserRegisterWowHandlers( const struct wow_handlers16 *new, struct wo
...
@@ -1135,6 +1135,7 @@ void WINAPI UserRegisterWowHandlers( const struct wow_handlers16 *new, struct wo
orig
->
mdiclient_proc
=
MDIClientWndProc_common
;
orig
->
mdiclient_proc
=
MDIClientWndProc_common
;
orig
->
scrollbar_proc
=
ScrollBarWndProc_common
;
orig
->
scrollbar_proc
=
ScrollBarWndProc_common
;
orig
->
static_proc
=
StaticWndProc_common
;
orig
->
static_proc
=
StaticWndProc_common
;
orig
->
create_window
=
WIN_CreateWindowEx
;
orig
->
alloc_winproc
=
WINPROC_AllocProc
;
orig
->
alloc_winproc
=
WINPROC_AllocProc
;
wow_handlers
=
*
new
;
wow_handlers
=
*
new
;
...
...
dlls/user32/wnd16.c
View file @
8494682f
...
@@ -305,6 +305,19 @@ BOOL16 WINAPI EndPaint16( HWND16 hwnd, const PAINTSTRUCT16* lps )
...
@@ -305,6 +305,19 @@ BOOL16 WINAPI EndPaint16( HWND16 hwnd, const PAINTSTRUCT16* lps )
}
}
/***********************************************************************
* CreateWindow (USER.41)
*/
HWND16
WINAPI
CreateWindow16
(
LPCSTR
className
,
LPCSTR
windowName
,
DWORD
style
,
INT16
x
,
INT16
y
,
INT16
width
,
INT16
height
,
HWND16
parent
,
HMENU16
menu
,
HINSTANCE16
instance
,
LPVOID
data
)
{
return
CreateWindowEx16
(
0
,
className
,
windowName
,
style
,
x
,
y
,
width
,
height
,
parent
,
menu
,
instance
,
data
);
}
/**************************************************************************
/**************************************************************************
* ShowWindow (USER.42)
* ShowWindow (USER.42)
*/
*/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment