Remove X_DC_INFO from DC and make it behave like any other PDEVICE.
diff --git a/include/bitmap.h b/include/bitmap.h
index 64765ef..e24e621 100644
--- a/include/bitmap.h
+++ b/include/bitmap.h
@@ -8,6 +8,8 @@
#define __WINE_BITMAP_H
#include "gdi.h"
+#include "ts_xlib.h"
+#include "ts_xutil.h"
/* Additional info for DIB section objects */
typedef struct
diff --git a/include/color.h b/include/color.h
index 949c180..e699e82 100644
--- a/include/color.h
+++ b/include/color.h
@@ -3,6 +3,7 @@
#include "palette.h"
#include "gdi.h"
+#include "x11drv.h"
#define COLOR_FIXED 0x0001 /* read-only colormap - have to use XAllocColor (if not virtual)*/
#define COLOR_VIRTUAL 0x0002 /* no mapping needed - pixel == pixel color */
diff --git a/include/gdi.h b/include/gdi.h
index 066fd4e..e7717a5 100644
--- a/include/gdi.h
+++ b/include/gdi.h
@@ -10,7 +10,6 @@
#include "windows.h"
#include "ldt.h"
#include "local.h"
-#include "x11drv.h"
#include "path.h"
#include <math.h>
@@ -139,8 +138,6 @@
BOOL32 vport2WorldValid; /* Is xformVport2World valid? */
} WIN_DC_INFO;
-typedef X11DRV_PDEVICE X_DC_INFO; /* Temporary */
-
typedef struct tagDC
{
GDIOBJHDR header;
@@ -161,14 +158,12 @@
INT32 vportExtY;
WIN_DC_INFO w;
- union
- {
- X_DC_INFO x;
- /* other devices (e.g. printer) */
- } u;
} DC;
/* Device functions for the Wine driver interface */
+
+typedef INT32 (*DEVICEFONTENUMPROC)(LPENUMLOGFONT16,LPNEWTEXTMETRIC16,UINT16,LPARAM);
+
typedef struct tagDC_FUNCS
{
BOOL32 (*pArc)(DC*,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
@@ -432,11 +427,4 @@
extern const DC_FUNCTIONS *DRIVER_FindDriver( LPCSTR name );
extern BOOL32 DRIVER_UnregisterDriver( LPCSTR name );
-extern BOOL32 DIB_Init(void);
-
-extern Display * display;
-extern Screen * screen;
-extern Window rootWindow;
-extern int screenWidth, screenHeight, screenDepth;
-
#endif /* __WINE_GDI_H */
diff --git a/include/x11drv.h b/include/x11drv.h
index 1f7aef2..186227c 100644
--- a/include/x11drv.h
+++ b/include/x11drv.h
@@ -9,6 +9,7 @@
#include "ts_xutil.h"
#include "winbase.h"
#include "windows.h"
+#include "gdi.h"
#include "xmalloc.h" /* for XCREATEIMAGE macro */
/* X physical pen */
@@ -59,7 +60,6 @@
#define BITMAP_GC(bmp) \
(((bmp)->bitmap.bmBitsPixel == 1) ? BITMAP_monoGC : BITMAP_colorGC)
-typedef INT32 (*DEVICEFONTENUMPROC)(LPENUMLOGFONT16,LPNEWTEXTMETRIC16,UINT16,LPARAM);
/* Wine driver X11 functions */
@@ -158,6 +158,12 @@
extern const int X11DRV_XROPfunction[];
+extern Display * display;
+extern Screen * screen;
+extern Window rootWindow;
+extern int screenWidth, screenHeight, screenDepth;
+
+
/* Xlib critical section */
extern CRITICAL_SECTION X11DRV_CritSection;
diff --git a/include/x11font.h b/include/x11font.h
index 268fe1a..df63728 100644
--- a/include/x11font.h
+++ b/include/x11font.h
@@ -8,7 +8,7 @@
#define __WINE_X11FONT_H
#include "gdi.h"
-
+#include "x11drv.h"
#pragma pack(1)
/* this is a part of the font resource header, should