Moved most of the implementation of SetWindowPos and SetDrawable into
the user driver, and the corresponding code into the dlls/x11drv
directory. Moved a few functions out of the window driver into the
user driver. Plus a few related cleanups.
diff --git a/include/user.h b/include/user.h
index a4d16ad..df0b906 100644
--- a/include/user.h
+++ b/include/user.h
@@ -7,6 +7,10 @@
#ifndef __WINE_USER_H
#define __WINE_USER_H
+#include "winbase.h"
+#include "wingdi.h"
+#include "winuser.h"
+
#include "local.h"
extern WORD USER_HeapSel;
@@ -29,19 +33,12 @@
struct tagCURSORICONINFO;
struct DIDEVICEOBJECTDATA;
-#define WINE_KEYBOARD_CONFIG_AUTO_REPEAT 0x00000001
-typedef struct tagKEYBOARD_CONFIG {
- BOOL auto_repeat;
-} KEYBOARD_CONFIG;
-
typedef VOID CALLBACK (*LPMOUSE_EVENT_PROC)(DWORD,DWORD,DWORD,DWORD,DWORD);
struct tagWND;
typedef struct tagUSER_DRIVER {
/* event functions */
- void (*pSynchronize)(void);
- BOOL (*pCheckFocus)(void);
void (*pUserRepaintDisable)(BOOL);
/* keyboard functions */
void (*pInitKeyboard)(void);
@@ -54,8 +51,6 @@
void (*pBeep)(void);
BOOL (*pGetDIState)(DWORD, LPVOID);
BOOL (*pGetDIData)(BYTE *, DWORD, struct DIDEVICEOBJECTDATA *, LPDWORD, DWORD);
- void (*pGetKeyboardConfig)(KEYBOARD_CONFIG *);
- void (*pSetKeyboardConfig)(KEYBOARD_CONFIG *, DWORD);
/* mouse functions */
void (*pInitMouse)(LPMOUSE_EVENT_PROC);
void (*pSetCursor)(struct tagCURSORICONINFO *);
@@ -67,8 +62,6 @@
void (*pSetScreenSaveTimeout)(int);
/* resource functions */
HANDLE (*pLoadOEMResource)(WORD,WORD);
- /* windowing functions */
- BOOL (*pIsSingleWindow)(void);
/* clipboard functions */
void (*pAcquireClipboard)(void); /* Acquire selection */
void (*pReleaseClipboard)(void); /* Release selection */
@@ -78,6 +71,19 @@
BOOL (*pRegisterClipboardFormat)(LPCSTR); /* Register a clipboard format */
BOOL (*pIsSelectionOwner)(void); /* Check if we own the selection */
void (*pResetSelectionOwner)(struct tagWND *, BOOL);
+
+ /* windowing functions */
+ BOOL (*pCreateWindow)(HWND);
+ BOOL (*pDestroyWindow)(HWND);
+ BOOL (*pGetDC)(HWND,HDC,HRGN,DWORD);
+ BOOL (*pEnableWindow)(HWND,BOOL);
+ void (*pSetFocus)(HWND);
+ HWND (*pSetParent)(HWND,HWND);
+ BOOL (*pSetWindowPos)(WINDOWPOS *);
+ BOOL (*pSetWindowRgn)(HWND,HRGN,BOOL);
+ HICON (*pSetWindowIcon)(HWND,HICON,BOOL);
+ BOOL (*pSetWindowText)(HWND,LPCWSTR);
+ BOOL (*pIsSingleWindow)(void);
} USER_DRIVER;
extern USER_DRIVER USER_Driver;