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
92acc58a
Commit
92acc58a
authored
Sep 09, 2004
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Get rid of the WIN_SetRectangles export from user32.
parent
17c775f1
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
101 additions
and
56 deletions
+101
-56
Makefile.in
dlls/ttydrv/Makefile.in
+1
-1
wnd.c
dlls/ttydrv/wnd.c
+50
-1
user32.spec
dlls/user/user32.spec
+0
-1
window.c
dlls/x11drv/window.c
+47
-3
winpos.c
dlls/x11drv/winpos.c
+2
-2
x11drv.h
dlls/x11drv/x11drv.h
+1
-0
win.h
include/win.h
+0
-1
win.c
windows/win.c
+0
-47
No files found.
dlls/ttydrv/Makefile.in
View file @
92acc58a
...
...
@@ -3,7 +3,7 @@ TOPOBJDIR = ../..
SRCDIR
=
@srcdir@
VPATH
=
@srcdir@
MODULE
=
ttydrv.dll
IMPORTS
=
user32 gdi32 kernel32
IMPORTS
=
user32 gdi32 kernel32
ntdll
EXTRALIBS
=
@CURSESLIBS@
C_SRCS
=
\
...
...
dlls/ttydrv/wnd.c
View file @
92acc58a
...
...
@@ -25,6 +25,7 @@
#include "winpos.h"
#include "wownt32.h"
#include "wine/wingdi16.h"
#include "wine/server.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
ttydrv
);
...
...
@@ -36,18 +37,66 @@ WINE_DEFAULT_DEBUG_CHANNEL(ttydrv);
#define SWP_AGG_STATUSFLAGS \
(SWP_AGG_NOPOSCHANGE | SWP_FRAMECHANGED | SWP_HIDEWINDOW | SWP_SHOWWINDOW)
/***********************************************************************
* set_window_rectangles
*
* Set the window and client rectangles.
*/
static
void
set_window_rectangles
(
HWND
hwnd
,
const
RECT
*
rectWindow
,
const
RECT
*
rectClient
)
{
WND
*
win
=
WIN_GetPtr
(
hwnd
);
BOOL
ret
;
if
(
!
win
)
return
;
if
(
win
==
WND_OTHER_PROCESS
)
{
if
(
IsWindow
(
hwnd
))
ERR
(
"cannot set rectangles of other process window %p
\n
"
,
hwnd
);
return
;
}
SERVER_START_REQ
(
set_window_rectangles
)
{
req
->
handle
=
hwnd
;
req
->
window
.
left
=
rectWindow
->
left
;
req
->
window
.
top
=
rectWindow
->
top
;
req
->
window
.
right
=
rectWindow
->
right
;
req
->
window
.
bottom
=
rectWindow
->
bottom
;
req
->
client
.
left
=
rectClient
->
left
;
req
->
client
.
top
=
rectClient
->
top
;
req
->
client
.
right
=
rectClient
->
right
;
req
->
client
.
bottom
=
rectClient
->
bottom
;
ret
=
!
wine_server_call
(
req
);
}
SERVER_END_REQ
;
if
(
ret
)
{
win
->
rectWindow
=
*
rectWindow
;
win
->
rectClient
=
*
rectClient
;
TRACE
(
"win %p window (%ld,%ld)-(%ld,%ld) client (%ld,%ld)-(%ld,%ld)
\n
"
,
hwnd
,
rectWindow
->
left
,
rectWindow
->
top
,
rectWindow
->
right
,
rectWindow
->
bottom
,
rectClient
->
left
,
rectClient
->
top
,
rectClient
->
right
,
rectClient
->
bottom
);
}
WIN_ReleasePtr
(
win
);
}
/**********************************************************************
* CreateWindow (TTYDRV.@)
*/
BOOL
TTYDRV_CreateWindow
(
HWND
hwnd
,
CREATESTRUCTA
*
cs
,
BOOL
unicode
)
{
BOOL
ret
;
RECT
rect
;
HWND
hwndLinkAfter
;
CBT_CREATEWNDA
cbtc
;
WND
*
wndPtr
=
WIN_GetPtr
(
hwnd
);
TRACE
(
"(%p)
\n
"
,
hwnd
);
/* initialize the dimensions before sending WM_GETMINMAXINFO */
SetRect
(
&
rect
,
cs
->
x
,
cs
->
y
,
cs
->
x
+
cs
->
cx
,
cs
->
y
+
cs
->
cy
);
set_window_rectangles
(
hwnd
,
&
rect
,
&
rect
);
if
(
!
wndPtr
->
parent
)
/* desktop window */
{
wndPtr
->
pDriverData
=
root_window
;
...
...
@@ -602,7 +651,7 @@ BOOL TTYDRV_SetWindowPos( WINDOWPOS *winpos )
/* FIXME: actually do something with WVR_VALIDRECTS */
WIN_SetR
ectangles
(
winpos
->
hwnd
,
&
newWindowRect
,
&
newClientRect
);
set_window_r
ectangles
(
winpos
->
hwnd
,
&
newWindowRect
,
&
newClientRect
);
if
(
winpos
->
flags
&
SWP_SHOWWINDOW
)
WIN_SetStyle
(
winpos
->
hwnd
,
wndPtr
->
dwStyle
|
WS_VISIBLE
);
...
...
dlls/user/user32.spec
View file @
92acc58a
...
...
@@ -739,7 +739,6 @@
@ cdecl WIN_ReleaseWndPtr(ptr)
@ cdecl WIN_RestoreWndsLock(long)
@ cdecl WIN_SetExStyle(long long)
@ cdecl WIN_SetRectangles(long ptr ptr)
@ cdecl WIN_SetStyle(long long)
@ cdecl WIN_SuspendWndsLock()
@ cdecl WIN_UnlinkWindow(long)
dlls/x11drv/window.c
View file @
92acc58a
...
...
@@ -41,6 +41,7 @@
#include "wine/debug.h"
#include "x11drv.h"
#include "wine/server.h"
#include "win.h"
#include "winpos.h"
#include "mwm.h"
...
...
@@ -739,6 +740,49 @@ void X11DRV_register_window( Display *display, HWND hwnd, struct x11drv_win_data
}
/***********************************************************************
* X11DRV_set_window_rectangles
*
* Set the window and client rectangles.
*/
void
X11DRV_set_window_rectangles
(
HWND
hwnd
,
const
RECT
*
rectWindow
,
const
RECT
*
rectClient
)
{
WND
*
win
=
WIN_GetPtr
(
hwnd
);
BOOL
ret
;
if
(
!
win
)
return
;
if
(
win
==
WND_OTHER_PROCESS
)
{
if
(
IsWindow
(
hwnd
))
ERR
(
"cannot set rectangles of other process window %p
\n
"
,
hwnd
);
return
;
}
SERVER_START_REQ
(
set_window_rectangles
)
{
req
->
handle
=
hwnd
;
req
->
window
.
left
=
rectWindow
->
left
;
req
->
window
.
top
=
rectWindow
->
top
;
req
->
window
.
right
=
rectWindow
->
right
;
req
->
window
.
bottom
=
rectWindow
->
bottom
;
req
->
client
.
left
=
rectClient
->
left
;
req
->
client
.
top
=
rectClient
->
top
;
req
->
client
.
right
=
rectClient
->
right
;
req
->
client
.
bottom
=
rectClient
->
bottom
;
ret
=
!
wine_server_call
(
req
);
}
SERVER_END_REQ
;
if
(
ret
)
{
win
->
rectWindow
=
*
rectWindow
;
win
->
rectClient
=
*
rectClient
;
TRACE
(
"win %p window (%ld,%ld)-(%ld,%ld) client (%ld,%ld)-(%ld,%ld)
\n
"
,
hwnd
,
rectWindow
->
left
,
rectWindow
->
top
,
rectWindow
->
right
,
rectWindow
->
bottom
,
rectClient
->
left
,
rectClient
->
top
,
rectClient
->
right
,
rectClient
->
bottom
);
}
WIN_ReleasePtr
(
win
);
}
/**********************************************************************
* create_desktop
*/
...
...
@@ -997,7 +1041,7 @@ BOOL X11DRV_CreateWindow( HWND hwnd, CREATESTRUCTA *cs, BOOL unicode )
/* initialize the dimensions before sending WM_GETMINMAXINFO */
SetRect
(
&
rect
,
cs
->
x
,
cs
->
y
,
cs
->
x
+
cs
->
cx
,
cs
->
y
+
cs
->
cy
);
WIN_SetR
ectangles
(
hwnd
,
&
rect
,
&
rect
);
X11DRV_set_window_r
ectangles
(
hwnd
,
&
rect
,
&
rect
);
if
(
!
wndPtr
->
parent
)
{
...
...
@@ -1038,7 +1082,7 @@ BOOL X11DRV_CreateWindow( HWND hwnd, CREATESTRUCTA *cs, BOOL unicode )
if
(
!
(
wndPtr
=
WIN_GetPtr
(
hwnd
)))
return
FALSE
;
SetRect
(
&
rect
,
cs
->
x
,
cs
->
y
,
cs
->
x
+
cs
->
cx
,
cs
->
y
+
cs
->
cy
);
WIN_SetR
ectangles
(
hwnd
,
&
rect
,
&
rect
);
X11DRV_set_window_r
ectangles
(
hwnd
,
&
rect
,
&
rect
);
X11DRV_sync_whole_window_position
(
display
,
wndPtr
,
0
);
}
WIN_ReleasePtr
(
wndPtr
);
...
...
@@ -1066,7 +1110,7 @@ BOOL X11DRV_CreateWindow( HWND hwnd, CREATESTRUCTA *cs, BOOL unicode )
if
(
!
(
wndPtr
=
WIN_GetPtr
(
hwnd
)))
return
FALSE
;
if
(
rect
.
left
>
rect
.
right
||
rect
.
top
>
rect
.
bottom
)
rect
=
wndPtr
->
rectWindow
;
WIN_SetR
ectangles
(
hwnd
,
&
wndPtr
->
rectWindow
,
&
rect
);
X11DRV_set_window_r
ectangles
(
hwnd
,
&
wndPtr
->
rectWindow
,
&
rect
);
X11DRV_sync_client_window_position
(
display
,
wndPtr
);
X11DRV_register_window
(
display
,
hwnd
,
data
);
...
...
dlls/x11drv/winpos.c
View file @
92acc58a
...
...
@@ -967,7 +967,7 @@ BOOL X11DRV_SetWindowPos( WINDOWPOS *winpos )
/* FIXME: actually do something with WVR_VALIDRECTS */
WIN_SetR
ectangles
(
winpos
->
hwnd
,
&
newWindowRect
,
&
newClientRect
);
X11DRV_set_window_r
ectangles
(
winpos
->
hwnd
,
&
newWindowRect
,
&
newClientRect
);
if
(
get_whole_window
(
wndPtr
))
/* don't do anything if X window not created yet */
{
...
...
@@ -1579,7 +1579,7 @@ void X11DRV_handle_desktop_resize( unsigned int width, unsigned int height )
screen_height
=
height
;
TRACE
(
"desktop %p change to (%dx%d)
\n
"
,
hwnd
,
width
,
height
);
SetRect
(
&
rect
,
0
,
0
,
width
,
height
);
WIN_SetR
ectangles
(
hwnd
,
&
rect
,
&
rect
);
X11DRV_set_window_r
ectangles
(
hwnd
,
&
rect
,
&
rect
);
SendMessageTimeoutW
(
HWND_BROADCAST
,
WM_DISPLAYCHANGE
,
screen_depth
,
MAKELPARAM
(
width
,
height
),
SMTO_ABORTIFHUNG
,
2000
,
NULL
);
}
...
...
dlls/x11drv/x11drv.h
View file @
92acc58a
...
...
@@ -559,6 +559,7 @@ extern Window X11DRV_create_desktop( XVisualInfo *desktop_vi, const char *geomet
extern
void
X11DRV_sync_window_style
(
Display
*
display
,
WND
*
win
);
extern
int
X11DRV_sync_whole_window_position
(
Display
*
display
,
WND
*
win
,
int
zorder
);
extern
int
X11DRV_sync_client_window_position
(
Display
*
display
,
WND
*
win
);
extern
void
X11DRV_set_window_rectangles
(
HWND
hwnd
,
const
RECT
*
rectWindow
,
const
RECT
*
rectClient
);
extern
void
X11DRV_set_wm_hints
(
Display
*
display
,
WND
*
win
);
extern
void
X11DRV_handle_desktop_resize
(
unsigned
int
width
,
unsigned
int
height
);
...
...
include/win.h
View file @
92acc58a
...
...
@@ -105,7 +105,6 @@ extern void WIN_UnlinkWindow( HWND hwnd );
extern
HWND
WIN_SetOwner
(
HWND
hwnd
,
HWND
owner
);
extern
LONG
WIN_SetStyle
(
HWND
hwnd
,
LONG
style
);
extern
LONG
WIN_SetExStyle
(
HWND
hwnd
,
LONG
style
);
extern
void
WIN_SetRectangles
(
HWND
hwnd
,
const
RECT
*
rectWindow
,
const
RECT
*
rectClient
);
extern
BOOL
WIN_GetRectangles
(
HWND
hwnd
,
RECT
*
rectWindow
,
RECT
*
rectClient
);
extern
LRESULT
WIN_DestroyWindow
(
HWND
hwnd
);
extern
void
WIN_DestroyThreadWindows
(
HWND
hwnd
);
...
...
windows/win.c
View file @
92acc58a
...
...
@@ -540,49 +540,6 @@ LONG WIN_SetExStyle( HWND hwnd, LONG style )
/***********************************************************************
* WIN_SetRectangles
*
* Set the window and client rectangles.
*/
void
WIN_SetRectangles
(
HWND
hwnd
,
const
RECT
*
rectWindow
,
const
RECT
*
rectClient
)
{
WND
*
win
=
WIN_GetPtr
(
hwnd
);
BOOL
ret
;
if
(
!
win
)
return
;
if
(
win
==
WND_OTHER_PROCESS
)
{
if
(
IsWindow
(
hwnd
))
ERR
(
"cannot set rectangles of other process window %p
\n
"
,
hwnd
);
return
;
}
SERVER_START_REQ
(
set_window_rectangles
)
{
req
->
handle
=
hwnd
;
req
->
window
.
left
=
rectWindow
->
left
;
req
->
window
.
top
=
rectWindow
->
top
;
req
->
window
.
right
=
rectWindow
->
right
;
req
->
window
.
bottom
=
rectWindow
->
bottom
;
req
->
client
.
left
=
rectClient
->
left
;
req
->
client
.
top
=
rectClient
->
top
;
req
->
client
.
right
=
rectClient
->
right
;
req
->
client
.
bottom
=
rectClient
->
bottom
;
ret
=
!
wine_server_call
(
req
);
}
SERVER_END_REQ
;
if
(
ret
)
{
win
->
rectWindow
=
*
rectWindow
;
win
->
rectClient
=
*
rectClient
;
TRACE
(
"win %p window (%ld,%ld)-(%ld,%ld) client (%ld,%ld)-(%ld,%ld)
\n
"
,
hwnd
,
rectWindow
->
left
,
rectWindow
->
top
,
rectWindow
->
right
,
rectWindow
->
bottom
,
rectClient
->
left
,
rectClient
->
top
,
rectClient
->
right
,
rectClient
->
bottom
);
}
WIN_ReleasePtr
(
win
);
}
/***********************************************************************
* WIN_GetRectangles
*
* Get the window and client rectangles.
...
...
@@ -731,7 +688,6 @@ BOOL WIN_CreateDesktopWindow(void)
{
HWND
hwndDesktop
;
CREATESTRUCTA
cs
;
RECT
rect
;
TRACE
(
"Creating desktop window
\n
"
);
...
...
@@ -765,9 +721,6 @@ BOOL WIN_CreateDesktopWindow(void)
cs
.
lpszName
=
NULL
;
cs
.
lpszClass
=
DESKTOP_CLASS_ATOM
;
SetRect
(
&
rect
,
0
,
0
,
cs
.
cx
,
cs
.
cy
);
WIN_SetRectangles
(
hwndDesktop
,
&
rect
,
&
rect
);
SERVER_START_REQ
(
set_window_info
)
{
req
->
handle
=
hwndDesktop
;
...
...
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