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
eede6b04
Commit
eede6b04
authored
Nov 30, 1998
by
Paul Quinn
Committed by
Alexandre Julliard
Nov 30, 1998
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implementation of ChildWindowFromPointEx functions.
parent
d290aa44
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
62 additions
and
2 deletions
+62
-2
user.spec
if1632/user.spec
+1
-1
windows.h
include/windows.h
+9
-0
user32.spec
relay32/user32.spec
+1
-1
winpos.c
windows/winpos.c
+51
-0
No files found.
if1632/user.spec
View file @
eede6b04
...
...
@@ -366,7 +366,7 @@ file user.exe
395 stub GetIconInfo
397 pascal16 RegisterClassEx(ptr) RegisterClassEx16
398 pascal16 GetClassInfoEx(word segstr ptr) GetClassInfoEx16
399
stub ChildWindowFromPointEx
399
pascal16 ChildWindowFromPointEx(word long word) ChildWindowFromPointEx16
400 stub FinalUserInit
402 pascal16 GetPriorityClipboardFormat(ptr s_word) GetPriorityClipboardFormat16
403 pascal16 UnregisterClass(segstr word) UnregisterClass16
...
...
include/windows.h
View file @
eede6b04
...
...
@@ -3882,6 +3882,12 @@ DECL_WINELIB_TYPE(DRAWSTATEPROC)
#define CW_USEDEFAULT32 ((INT32)0x80000000)
#define CW_USEDEFAULT WINELIB_NAME(CW_USEDEFAULT)
/* ChildWindowFromPointEx Flags */
#define CWP_ALL 0x0000
#define CWP_SKIPINVISIBLE 0x0001
#define CWP_SKIPDISABLED 0x0002
#define CWP_SKIPTRANSPARENT 0x0004
/* Button control styles */
#define BS_PUSHBUTTON 0x00000000L
#define BS_DEFPUSHBUTTON 0x00000001L
...
...
@@ -7329,6 +7335,9 @@ BOOL32 WINAPI CheckRadioButton32(HWND32,UINT32,UINT32,UINT32);
HWND16
WINAPI
ChildWindowFromPoint16
(
HWND16
,
POINT16
);
HWND32
WINAPI
ChildWindowFromPoint32
(
HWND32
,
POINT32
);
#define ChildWindowFromPoint WINELIB_NAME(ChildWindowFromPoint)
HWND16
WINAPI
ChildWindowFromPointEx16
(
HWND16
,
POINT16
,
UINT16
);
HWND32
WINAPI
ChildWindowFromPointEx32
(
HWND32
,
POINT32
,
UINT32
);
#define ChildWindowFromPointEx WINELIB_NAME(ChildWindowFromPointEx)
INT32
WINAPI
ChoosePixelFormat
(
HDC32
,
const
PIXELFORMATDESCRIPTOR
*
);
BOOL16
WINAPI
Chord16
(
HDC16
,
INT16
,
INT16
,
INT16
,
INT16
,
INT16
,
INT16
,
INT16
,
INT16
);
BOOL32
WINAPI
Chord32
(
HDC32
,
INT32
,
INT32
,
INT32
,
INT32
,
INT32
,
INT32
,
INT32
,
INT32
);
...
...
relay32/user32.spec
View file @
eede6b04
...
...
@@ -51,7 +51,7 @@ init MAIN_UserInit
47 stdcall CheckMenuRadioItem(long long long long long) CheckMenuRadioItem32
48 stdcall CheckRadioButton(long long long long) CheckRadioButton32
49 stdcall ChildWindowFromPoint(long long long) ChildWindowFromPoint32
50 st
ub ChildWindowFromPointEx
50 st
dcall ChildWindowFromPointEx(long long long long) ChildWindowFromPointEx32
51 stub ClientThreadConnect
52 stdcall ClientToScreen(long ptr) ClientToScreen32
53 stdcall ClipCursor(ptr) ClipCursor32
...
...
windows/winpos.c
View file @
eede6b04
...
...
@@ -497,6 +497,57 @@ HWND32 WINAPI ChildWindowFromPoint32( HWND32 hwndParent, POINT32 pt )
return
hwndParent
;
}
/*******************************************************************
* ChildWindowFromPointEx16 (USER.50)
*/
HWND16
WINAPI
ChildWindowFromPointEx16
(
HWND16
hwndParent
,
POINT16
pt
,
UINT16
uFlags
)
{
POINT32
pt32
;
CONV_POINT16TO32
(
&
pt
,
&
pt32
);
return
(
HWND16
)
ChildWindowFromPointEx32
(
hwndParent
,
pt32
,
uFlags
);
}
/*******************************************************************
* ChildWindowFromPointEx32 (USER32.50)
*/
HWND32
WINAPI
ChildWindowFromPointEx32
(
HWND32
hwndParent
,
POINT32
pt
,
UINT32
uFlags
)
{
/* pt is in the client coordinates */
WND
*
wnd
=
WIN_FindWndPtr
(
hwndParent
);
RECT32
rect
;
if
(
!
wnd
)
return
0
;
/* get client rect fast */
rect
.
top
=
rect
.
left
=
0
;
rect
.
right
=
wnd
->
rectClient
.
right
-
wnd
->
rectClient
.
left
;
rect
.
bottom
=
wnd
->
rectClient
.
bottom
-
wnd
->
rectClient
.
top
;
if
(
!
PtInRect32
(
&
rect
,
pt
))
return
0
;
wnd
=
wnd
->
child
;
while
(
wnd
)
{
if
(
PtInRect32
(
&
wnd
->
rectWindow
,
pt
))
{
if
(
(
uFlags
&
CWP_SKIPINVISIBLE
)
&&
!
(
wnd
->
dwStyle
&
WS_VISIBLE
)
)
wnd
=
wnd
->
next
;
else
if
(
(
uFlags
&
CWP_SKIPDISABLED
)
&&
(
wnd
->
dwStyle
&
WS_DISABLED
)
)
wnd
=
wnd
->
next
;
else
if
(
(
uFlags
&
CWP_SKIPTRANSPARENT
)
&&
(
wnd
->
dwExStyle
&
WS_EX_TRANSPARENT
)
)
wnd
=
wnd
->
next
;
else
return
wnd
->
hwndSelf
;
}
}
return
hwndParent
;
}
/*******************************************************************
* WINPOS_GetWinOffset
...
...
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