More code moved to the X11 driver (bitmap and palette and misc).

diff --git a/include/bitmap.h b/include/bitmap.h
index 27f0b5c..6e3894e 100644
--- a/include/bitmap.h
+++ b/include/bitmap.h
@@ -7,30 +7,9 @@
 #ifndef __WINE_BITMAP_H
 #define __WINE_BITMAP_H
 
-#include <X11/Xlib.h>
-
 #include "gdi.h"
 
-  /* Additional info for DIB section objects */
-typedef struct
-{
-    /* Windows DIB section */
-    DIBSECTION  dibSection;
-
-    /* Mapping status */
-    enum { DIB_NoHandler, DIB_InSync, DIB_AppMod, DIB_GdiMod } status;
-
-    /* Color map info */
-    int         nColorMap;
-    int        *colorMap;
-
-    /* Cached XImage */
-    XImage     *image;
-
-    /* Selector for 16-bit access to bits */
-    WORD selector;
-
-} DIBSECTIONOBJ;
+struct tagGDI_BITMAP_DRIVER;
 
 /* Flags used for BitmapBits. We only use the first two at the moment */
 
@@ -48,16 +27,24 @@
 typedef struct tagBITMAPOBJ
 {
     GDIOBJHDR   header;
-    BITMAP    bitmap;
-    SIZE      size;   /* For SetBitmapDimension() */
+    BITMAP      bitmap;
+    SIZE        size;   /* For SetBitmapDimension() */
 
-    DDBITMAP	*DDBitmap;
+    DDBITMAP   *DDBitmap;
 
     /* For device-independent bitmaps: */
-    DIBSECTIONOBJ *dib;
-
+    DIBSECTION *dib;
 } BITMAPOBJ;
 
+typedef struct tagBITMAP_DRIVER
+{
+  INT  (*pSetDIBits)(struct tagBITMAPOBJ *,struct tagDC *,UINT,UINT,LPCVOID,const BITMAPINFO *,UINT,HBITMAP);
+  INT  (*pGetDIBits)(struct tagBITMAPOBJ *,struct tagDC *,UINT,UINT,LPVOID,BITMAPINFO *,UINT,HBITMAP);
+  VOID (*pDeleteDIBSection)(struct tagBITMAPOBJ *);
+} BITMAP_DRIVER;
+
+extern BITMAP_DRIVER *BITMAP_Driver;
+
   /* objects/bitmap.c */
 extern INT16   BITMAP_GetObject16( BITMAPOBJ * bmp, INT16 count, LPVOID buffer );
 extern INT   BITMAP_GetObject( BITMAPOBJ * bmp, INT count, LPVOID buffer );