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
b4a64382
Commit
b4a64382
authored
Jan 18, 2005
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Moved DefWindowProc16 to msg16.c and cleaned up a few related things.
parent
e9856f16
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
107 additions
and
136 deletions
+107
-136
msg16.c
dlls/user/msg16.c
+93
-0
winpos.h
include/winpos.h
+0
-3
defwnd.c
windows/defwnd.c
+14
-107
winpos.c
windows/winpos.c
+0
-26
No files found.
dlls/user/msg16.c
View file @
b4a64382
...
...
@@ -173,6 +173,99 @@ BOOL16 WINAPI PeekMessage32_16( MSG32_16 *msg16, HWND16 hwnd16,
/***********************************************************************
* DefWindowProc (USER.107)
*/
LRESULT
WINAPI
DefWindowProc16
(
HWND16
hwnd16
,
UINT16
msg
,
WPARAM16
wParam
,
LPARAM
lParam
)
{
LRESULT
result
;
HWND
hwnd
=
WIN_Handle32
(
hwnd16
);
SPY_EnterMessage
(
SPY_DEFWNDPROC16
,
hwnd
,
msg
,
wParam
,
lParam
);
switch
(
msg
)
{
case
WM_NCCREATE
:
{
CREATESTRUCT16
*
cs16
=
MapSL
(
lParam
);
CREATESTRUCTA
cs32
;
cs32
.
lpCreateParams
=
(
LPVOID
)
cs16
->
lpCreateParams
;
cs32
.
hInstance
=
HINSTANCE_32
(
cs16
->
hInstance
);
cs32
.
hMenu
=
HMENU_32
(
cs16
->
hMenu
);
cs32
.
hwndParent
=
WIN_Handle32
(
cs16
->
hwndParent
);
cs32
.
cy
=
cs16
->
cy
;
cs32
.
cx
=
cs16
->
cx
;
cs32
.
y
=
cs16
->
y
;
cs32
.
x
=
cs16
->
x
;
cs32
.
style
=
cs16
->
style
;
cs32
.
dwExStyle
=
cs16
->
dwExStyle
;
cs32
.
lpszName
=
MapSL
(
cs16
->
lpszName
);
cs32
.
lpszClass
=
MapSL
(
cs16
->
lpszClass
);
result
=
DefWindowProcA
(
hwnd
,
msg
,
wParam
,
(
LPARAM
)
&
cs32
);
}
break
;
case
WM_NCCALCSIZE
:
{
RECT16
*
rect16
=
MapSL
(
lParam
);
RECT
rect32
;
rect32
.
left
=
rect16
->
left
;
rect32
.
top
=
rect16
->
top
;
rect32
.
right
=
rect16
->
right
;
rect32
.
bottom
=
rect16
->
bottom
;
result
=
DefWindowProcA
(
hwnd
,
msg
,
wParam
,
(
LPARAM
)
&
rect32
);
rect16
->
left
=
rect32
.
left
;
rect16
->
top
=
rect32
.
top
;
rect16
->
right
=
rect32
.
right
;
rect16
->
bottom
=
rect32
.
bottom
;
}
break
;
case
WM_WINDOWPOSCHANGING
:
case
WM_WINDOWPOSCHANGED
:
{
WINDOWPOS16
*
pos16
=
MapSL
(
lParam
);
WINDOWPOS
pos32
;
pos32
.
hwnd
=
WIN_Handle32
(
pos16
->
hwnd
);
pos32
.
hwndInsertAfter
=
WIN_Handle32
(
pos16
->
hwndInsertAfter
);
pos32
.
x
=
pos16
->
x
;
pos32
.
y
=
pos16
->
y
;
pos32
.
cx
=
pos16
->
cx
;
pos32
.
cy
=
pos16
->
cy
;
pos32
.
flags
=
pos16
->
flags
;
result
=
DefWindowProcA
(
hwnd
,
msg
,
wParam
,
(
LPARAM
)
&
pos32
);
pos16
->
hwnd
=
HWND_16
(
pos32
.
hwnd
);
pos16
->
hwndInsertAfter
=
HWND_16
(
pos32
.
hwndInsertAfter
);
pos16
->
x
=
pos32
.
x
;
pos16
->
y
=
pos32
.
y
;
pos16
->
cx
=
pos32
.
cx
;
pos16
->
cy
=
pos32
.
cy
;
pos16
->
flags
=
pos32
.
flags
;
}
break
;
case
WM_GETTEXT
:
case
WM_SETTEXT
:
result
=
DefWindowProcA
(
hwnd
,
msg
,
wParam
,
(
LPARAM
)
MapSL
(
lParam
)
);
break
;
default:
result
=
DefWindowProcA
(
hwnd
,
msg
,
wParam
,
lParam
);
break
;
}
SPY_ExitMessage
(
SPY_RESULT_DEFWND16
,
hwnd
,
msg
,
result
,
wParam
,
lParam
);
return
result
;
}
/***********************************************************************
* PeekMessage (USER.109)
*/
BOOL16
WINAPI
PeekMessage16
(
MSG16
*
msg
,
HWND16
hwnd
,
...
...
include/winpos.h
View file @
b4a64382
...
...
@@ -34,13 +34,10 @@
/* Wine extra SWP flag */
#define SWP_WINE_NOHOSTMOVE 0x80000000
struct
tagWINDOWPOS16
;
extern
BOOL
WINPOS_RedrawIconTitle
(
HWND
hWnd
);
extern
BOOL
WINPOS_ShowIconTitle
(
HWND
hwnd
,
BOOL
bShow
);
extern
void
WINPOS_GetMinMaxInfo
(
HWND
hwnd
,
POINT
*
maxSize
,
POINT
*
maxPos
,
POINT
*
minTrack
,
POINT
*
maxTrack
);
extern
LONG
WINPOS_HandleWindowPosChanging16
(
HWND
hwnd
,
struct
tagWINDOWPOS16
*
winpos
);
extern
LONG
WINPOS_HandleWindowPosChanging
(
HWND
hwnd
,
WINDOWPOS
*
winpos
);
extern
HWND
WINPOS_WindowFromPoint
(
HWND
hwndScope
,
POINT
pt
,
INT
*
hittest
);
extern
void
WINPOS_CheckInternalPos
(
HWND
hwnd
);
...
...
windows/defwnd.c
View file @
b4a64382
...
...
@@ -55,7 +55,7 @@ static const WCHAR imm32W[] = { 'i','m','m','3','2','\0' };
*
* Handle the WM_WINDOWPOSCHANGED message.
*/
static
void
DEFWND_HandleWindowPosChanged
(
HWND
hwnd
,
UINT
flag
s
)
static
void
DEFWND_HandleWindowPosChanged
(
HWND
hwnd
,
const
WINDOWPOS
*
winpo
s
)
{
RECT
rect
;
WND
*
wndPtr
=
WIN_GetPtr
(
hwnd
);
...
...
@@ -63,10 +63,10 @@ static void DEFWND_HandleWindowPosChanged( HWND hwnd, UINT flags )
rect
=
wndPtr
->
rectClient
;
WIN_ReleasePtr
(
wndPtr
);
if
(
!
(
flags
&
SWP_NOCLIENTMOVE
))
if
(
!
(
winpos
->
flags
&
SWP_NOCLIENTMOVE
))
SendMessageW
(
hwnd
,
WM_MOVE
,
0
,
MAKELONG
(
rect
.
left
,
rect
.
top
));
if
(
!
(
flags
&
SWP_NOCLIENTSIZE
))
if
(
!
(
winpos
->
flags
&
SWP_NOCLIENTSIZE
))
{
WPARAM
wp
=
SIZE_RESTORED
;
if
(
IsZoomed
(
hwnd
))
wp
=
SIZE_MAXIMIZED
;
...
...
@@ -318,7 +318,7 @@ static BOOL DEFWND_ImmIsUIMessageW( HWND hwndIME, UINT msg, WPARAM wParam, LPARA
/***********************************************************************
* DEFWND_DefWinProc
*
* Default window procedure for messages that are the same in
Win16 and Win32
.
* Default window procedure for messages that are the same in
Ansi and Unicode
.
*/
static
LRESULT
DEFWND_DefWinProc
(
HWND
hwnd
,
UINT
msg
,
WPARAM
wParam
,
LPARAM
lParam
)
{
...
...
@@ -335,6 +335,16 @@ static LRESULT DEFWND_DefWinProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPa
return
NC_HandleNCHitTest
(
hwnd
,
pt
);
}
case
WM_NCCALCSIZE
:
return
NC_HandleNCCalcSize
(
hwnd
,
(
RECT
*
)
lParam
);
case
WM_WINDOWPOSCHANGING
:
return
WINPOS_HandleWindowPosChanging
(
hwnd
,
(
WINDOWPOS
*
)
lParam
);
case
WM_WINDOWPOSCHANGED
:
DEFWND_HandleWindowPosChanged
(
hwnd
,
(
const
WINDOWPOS
*
)
lParam
);
break
;
case
WM_LBUTTONDOWN
:
case
WM_RBUTTONDOWN
:
case
WM_MBUTTONDOWN
:
...
...
@@ -715,79 +725,6 @@ static LRESULT DEFWND_DefWinProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lPa
/***********************************************************************
* DefWindowProc (USER.107)
*/
LRESULT
WINAPI
DefWindowProc16
(
HWND16
hwnd16
,
UINT16
msg
,
WPARAM16
wParam
,
LPARAM
lParam
)
{
LRESULT
result
=
0
;
HWND
hwnd
=
WIN_Handle32
(
hwnd16
);
if
(
!
WIN_IsCurrentProcess
(
hwnd
))
{
if
(
!
IsWindow
(
hwnd
))
return
0
;
ERR
(
"called for other process window %p
\n
"
,
hwnd
);
return
0
;
}
SPY_EnterMessage
(
SPY_DEFWNDPROC16
,
hwnd
,
msg
,
wParam
,
lParam
);
switch
(
msg
)
{
case
WM_NCCREATE
:
{
CREATESTRUCT16
*
cs
=
MapSL
(
lParam
);
/* check for string, as static icons, bitmaps (SS_ICON, SS_BITMAP)
* may have child window IDs instead of window name */
if
(
HIWORD
(
cs
->
lpszName
))
DEFWND_SetTextA
(
hwnd
,
MapSL
(
cs
->
lpszName
)
);
result
=
1
;
}
break
;
case
WM_NCCALCSIZE
:
{
RECT
rect32
;
RECT16
*
rect16
=
MapSL
(
lParam
);
rect32
.
left
=
rect16
->
left
;
rect32
.
top
=
rect16
->
top
;
rect32
.
right
=
rect16
->
right
;
rect32
.
bottom
=
rect16
->
bottom
;
result
=
NC_HandleNCCalcSize
(
hwnd
,
&
rect32
);
rect16
->
left
=
rect32
.
left
;
rect16
->
top
=
rect32
.
top
;
rect16
->
right
=
rect32
.
right
;
rect16
->
bottom
=
rect32
.
bottom
;
}
break
;
case
WM_WINDOWPOSCHANGING
:
result
=
WINPOS_HandleWindowPosChanging16
(
hwnd
,
MapSL
(
lParam
)
);
break
;
case
WM_WINDOWPOSCHANGED
:
{
WINDOWPOS16
*
winPos
=
MapSL
(
lParam
);
DEFWND_HandleWindowPosChanged
(
hwnd
,
winPos
->
flags
);
}
break
;
case
WM_GETTEXT
:
case
WM_SETTEXT
:
result
=
DefWindowProcA
(
hwnd
,
msg
,
wParam
,
(
LPARAM
)
MapSL
(
lParam
)
);
break
;
default:
result
=
DefWindowProcA
(
hwnd
,
msg
,
wParam
,
lParam
);
break
;
}
SPY_ExitMessage
(
SPY_RESULT_DEFWND16
,
hwnd
,
msg
,
result
,
wParam
,
lParam
);
return
result
;
}
/***********************************************************************
* DefWindowProcA (USER32.@)
*
*/
...
...
@@ -819,21 +756,6 @@ LRESULT WINAPI DefWindowProcA( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam
}
break
;
case
WM_NCCALCSIZE
:
result
=
NC_HandleNCCalcSize
(
hwnd
,
(
RECT
*
)
lParam
);
break
;
case
WM_WINDOWPOSCHANGING
:
result
=
WINPOS_HandleWindowPosChanging
(
hwnd
,
(
WINDOWPOS
*
)
lParam
);
break
;
case
WM_WINDOWPOSCHANGED
:
{
WINDOWPOS
*
winPos
=
(
WINDOWPOS
*
)
lParam
;
DEFWND_HandleWindowPosChanged
(
hwnd
,
winPos
->
flags
);
}
break
;
case
WM_GETTEXTLENGTH
:
{
WND
*
wndPtr
=
WIN_GetPtr
(
hwnd
);
...
...
@@ -975,21 +897,6 @@ LRESULT WINAPI DefWindowProcW(
}
break
;
case
WM_NCCALCSIZE
:
result
=
NC_HandleNCCalcSize
(
hwnd
,
(
RECT
*
)
lParam
);
break
;
case
WM_WINDOWPOSCHANGING
:
result
=
WINPOS_HandleWindowPosChanging
(
hwnd
,
(
WINDOWPOS
*
)
lParam
);
break
;
case
WM_WINDOWPOSCHANGED
:
{
WINDOWPOS
*
winPos
=
(
WINDOWPOS
*
)
lParam
;
DEFWND_HandleWindowPosChanged
(
hwnd
,
winPos
->
flags
);
}
break
;
case
WM_GETTEXTLENGTH
:
{
WND
*
wndPtr
=
WIN_GetPtr
(
hwnd
);
...
...
windows/winpos.c
View file @
b4a64382
...
...
@@ -1101,32 +1101,6 @@ void WINPOS_ActivateOtherWindow(HWND hwnd)
/***********************************************************************
* WINPOS_HandleWindowPosChanging16
*
* Default handling for a WM_WINDOWPOSCHANGING. Called from DefWindowProc().
*/
LONG
WINPOS_HandleWindowPosChanging16
(
HWND
hwnd
,
WINDOWPOS16
*
winpos
)
{
POINT
minTrack
,
maxTrack
;
LONG
style
=
GetWindowLongW
(
hwnd
,
GWL_STYLE
);
if
(
winpos
->
flags
&
SWP_NOSIZE
)
return
0
;
if
((
style
&
WS_THICKFRAME
)
||
((
style
&
(
WS_POPUP
|
WS_CHILD
))
==
0
))
{
WINPOS_GetMinMaxInfo
(
hwnd
,
NULL
,
NULL
,
&
minTrack
,
&
maxTrack
);
if
(
winpos
->
cx
>
maxTrack
.
x
)
winpos
->
cx
=
maxTrack
.
x
;
if
(
winpos
->
cy
>
maxTrack
.
y
)
winpos
->
cy
=
maxTrack
.
y
;
if
(
!
(
style
&
WS_MINIMIZE
))
{
if
(
winpos
->
cx
<
minTrack
.
x
)
winpos
->
cx
=
minTrack
.
x
;
if
(
winpos
->
cy
<
minTrack
.
y
)
winpos
->
cy
=
minTrack
.
y
;
}
}
return
0
;
}
/***********************************************************************
* WINPOS_HandleWindowPosChanging
*
* Default handling for a WM_WINDOWPOSCHANGING. Called from DefWindowProc().
...
...
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