user32: Add a SetCapture function to the driver interface.
This commit is contained in:
parent
4e129f88d0
commit
b9dee8efa7
|
@ -112,6 +112,7 @@ static const USER_DRIVER *load_driver(void)
|
||||||
GET_USER_FUNC(MsgWaitForMultipleObjectsEx);
|
GET_USER_FUNC(MsgWaitForMultipleObjectsEx);
|
||||||
GET_USER_FUNC(ReleaseDC);
|
GET_USER_FUNC(ReleaseDC);
|
||||||
GET_USER_FUNC(ScrollDC);
|
GET_USER_FUNC(ScrollDC);
|
||||||
|
GET_USER_FUNC(SetCapture);
|
||||||
GET_USER_FUNC(SetFocus);
|
GET_USER_FUNC(SetFocus);
|
||||||
GET_USER_FUNC(SetParent);
|
GET_USER_FUNC(SetParent);
|
||||||
GET_USER_FUNC(SetWindowPos);
|
GET_USER_FUNC(SetWindowPos);
|
||||||
|
@ -364,6 +365,10 @@ static BOOL nulldrv_ScrollDC( HDC hdc, INT dx, INT dy, const RECT *scroll, const
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void nulldrv_SetCapture( HWND hwnd, UINT flags )
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
static void nulldrv_SetFocus( HWND hwnd )
|
static void nulldrv_SetFocus( HWND hwnd )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -452,6 +457,7 @@ static const USER_DRIVER null_driver =
|
||||||
nulldrv_MsgWaitForMultipleObjectsEx,
|
nulldrv_MsgWaitForMultipleObjectsEx,
|
||||||
nulldrv_ReleaseDC,
|
nulldrv_ReleaseDC,
|
||||||
nulldrv_ScrollDC,
|
nulldrv_ScrollDC,
|
||||||
|
nulldrv_SetCapture,
|
||||||
nulldrv_SetFocus,
|
nulldrv_SetFocus,
|
||||||
nulldrv_SetParent,
|
nulldrv_SetParent,
|
||||||
nulldrv_SetWindowPos,
|
nulldrv_SetWindowPos,
|
||||||
|
@ -676,6 +682,11 @@ static BOOL loaderdrv_ScrollDC( HDC hdc, INT dx, INT dy, const RECT *scroll, con
|
||||||
return load_driver()->pScrollDC( hdc, dx, dy, scroll, clip, hrgn, update );
|
return load_driver()->pScrollDC( hdc, dx, dy, scroll, clip, hrgn, update );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void loaderdrv_SetCapture( HWND hwnd, UINT flags )
|
||||||
|
{
|
||||||
|
load_driver()->pSetCapture( hwnd, flags );
|
||||||
|
}
|
||||||
|
|
||||||
static void loaderdrv_SetFocus( HWND hwnd )
|
static void loaderdrv_SetFocus( HWND hwnd )
|
||||||
{
|
{
|
||||||
load_driver()->pSetFocus( hwnd );
|
load_driver()->pSetFocus( hwnd );
|
||||||
|
@ -772,6 +783,7 @@ static const USER_DRIVER lazy_load_driver =
|
||||||
loaderdrv_MsgWaitForMultipleObjectsEx,
|
loaderdrv_MsgWaitForMultipleObjectsEx,
|
||||||
loaderdrv_ReleaseDC,
|
loaderdrv_ReleaseDC,
|
||||||
loaderdrv_ScrollDC,
|
loaderdrv_ScrollDC,
|
||||||
|
loaderdrv_SetCapture,
|
||||||
loaderdrv_SetFocus,
|
loaderdrv_SetFocus,
|
||||||
loaderdrv_SetParent,
|
loaderdrv_SetParent,
|
||||||
loaderdrv_SetWindowPos,
|
loaderdrv_SetWindowPos,
|
||||||
|
|
|
@ -100,6 +100,8 @@ BOOL set_capture_window( HWND hwnd, UINT gui_flags, HWND *prev_ret )
|
||||||
}
|
}
|
||||||
SERVER_END_REQ;
|
SERVER_END_REQ;
|
||||||
|
|
||||||
|
USER_Driver->pSetCapture( hwnd, gui_flags );
|
||||||
|
|
||||||
if (previous && previous != hwnd)
|
if (previous && previous != hwnd)
|
||||||
SendMessageW( previous, WM_CAPTURECHANGED, 0, (LPARAM)hwnd );
|
SendMessageW( previous, WM_CAPTURECHANGED, 0, (LPARAM)hwnd );
|
||||||
|
|
||||||
|
|
|
@ -148,6 +148,7 @@ typedef struct tagUSER_DRIVER {
|
||||||
DWORD (*pMsgWaitForMultipleObjectsEx)(DWORD,const HANDLE*,DWORD,DWORD,DWORD);
|
DWORD (*pMsgWaitForMultipleObjectsEx)(DWORD,const HANDLE*,DWORD,DWORD,DWORD);
|
||||||
void (*pReleaseDC)(HWND,HDC);
|
void (*pReleaseDC)(HWND,HDC);
|
||||||
BOOL (*pScrollDC)(HDC, INT, INT, const RECT *, const RECT *, HRGN, LPRECT);
|
BOOL (*pScrollDC)(HDC, INT, INT, const RECT *, const RECT *, HRGN, LPRECT);
|
||||||
|
void (*pSetCapture)(HWND,UINT);
|
||||||
void (*pSetFocus)(HWND);
|
void (*pSetFocus)(HWND);
|
||||||
void (*pSetParent)(HWND,HWND,HWND);
|
void (*pSetParent)(HWND,HWND,HWND);
|
||||||
void (*pSetWindowPos)(HWND,HWND,UINT,const RECT *,const RECT *,const RECT *,const RECT *);
|
void (*pSetWindowPos)(HWND,HWND,UINT,const RECT *,const RECT *,const RECT *,const RECT *);
|
||||||
|
|
Loading…
Reference in New Issue