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;