Alexandre Julliard : user32: Add a SetLayeredWindowAttributes driver entry point.
Alexandre Julliard
julliard at winehq.org
Mon Sep 15 06:53:59 CDT 2008
Module: wine
Branch: master
Commit: 9fb76ddd53fef4dc6b1e4a01c8f39aac326e4e22
URL: http://source.winehq.org/git/wine.git/?a=commit;h=9fb76ddd53fef4dc6b1e4a01c8f39aac326e4e22
Author: Alexandre Julliard <julliard at winehq.org>
Date: Fri Sep 12 15:43:27 2008 +0200
user32: Add a SetLayeredWindowAttributes driver entry point.
---
dlls/user32/driver.c | 12 ++++++++++++
dlls/user32/user_private.h | 1 +
dlls/user32/win.c | 4 +++-
3 files changed, 16 insertions(+), 1 deletions(-)
diff --git a/dlls/user32/driver.c b/dlls/user32/driver.c
index 38e3c1b..9588308 100644
--- a/dlls/user32/driver.c
+++ b/dlls/user32/driver.c
@@ -114,6 +114,7 @@ static const USER_DRIVER *load_driver(void)
GET_USER_FUNC(ScrollDC);
GET_USER_FUNC(SetCapture);
GET_USER_FUNC(SetFocus);
+ GET_USER_FUNC(SetLayeredWindowAttributes);
GET_USER_FUNC(SetParent);
GET_USER_FUNC(SetWindowRgn);
GET_USER_FUNC(SetWindowIcon);
@@ -375,6 +376,10 @@ static void nulldrv_SetFocus( HWND hwnd )
{
}
+static void nulldrv_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alpha, DWORD flags )
+{
+}
+
static void nulldrv_SetParent( HWND hwnd, HWND parent, HWND old_parent )
{
}
@@ -473,6 +478,7 @@ static USER_DRIVER null_driver =
nulldrv_ScrollDC,
nulldrv_SetCapture,
nulldrv_SetFocus,
+ nulldrv_SetLayeredWindowAttributes,
nulldrv_SetParent,
nulldrv_SetWindowRgn,
nulldrv_SetWindowIcon,
@@ -708,6 +714,11 @@ static void loaderdrv_SetFocus( HWND hwnd )
load_driver()->pSetFocus( hwnd );
}
+static void loaderdrv_SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alpha, DWORD flags )
+{
+ load_driver()->pSetLayeredWindowAttributes( hwnd, key, alpha, flags );
+}
+
static void loaderdrv_SetParent( HWND hwnd, HWND parent, HWND old_parent )
{
load_driver()->pSetParent( hwnd, parent, old_parent );
@@ -814,6 +825,7 @@ static USER_DRIVER lazy_load_driver =
loaderdrv_ScrollDC,
loaderdrv_SetCapture,
loaderdrv_SetFocus,
+ loaderdrv_SetLayeredWindowAttributes,
loaderdrv_SetParent,
loaderdrv_SetWindowRgn,
loaderdrv_SetWindowIcon,
diff --git a/dlls/user32/user_private.h b/dlls/user32/user_private.h
index baf3475..da635b0 100644
--- a/dlls/user32/user_private.h
+++ b/dlls/user32/user_private.h
@@ -150,6 +150,7 @@ typedef struct tagUSER_DRIVER {
BOOL (*pScrollDC)(HDC, INT, INT, const RECT *, const RECT *, HRGN, LPRECT);
void (*pSetCapture)(HWND,UINT);
void (*pSetFocus)(HWND);
+ void (*pSetLayeredWindowAttributes)(HWND,COLORREF,BYTE,DWORD);
void (*pSetParent)(HWND,HWND,HWND);
int (*pSetWindowRgn)(HWND,HRGN,BOOL);
void (*pSetWindowIcon)(HWND,UINT,HICON);
diff --git a/dlls/user32/win.c b/dlls/user32/win.c
index a8f771a..3a7f5db 100644
--- a/dlls/user32/win.c
+++ b/dlls/user32/win.c
@@ -3325,7 +3325,7 @@ BOOL WINAPI SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alpha, DWO
{
BOOL ret;
- FIXME("(%p,%08x,%d,%x): stub!\n", hwnd, key, alpha, flags);
+ TRACE("(%p,%08x,%d,%x): stub!\n", hwnd, key, alpha, flags);
SERVER_START_REQ( set_window_layered_info )
{
@@ -3337,6 +3337,8 @@ BOOL WINAPI SetLayeredWindowAttributes( HWND hwnd, COLORREF key, BYTE alpha, DWO
}
SERVER_END_REQ;
+ if (ret) USER_Driver->pSetLayeredWindowAttributes( hwnd, key, alpha, flags );
+
return ret;
}
More information about the wine-cvs
mailing list