From 4e2a28bd03eb6bfe91f0a77ba1b02d8a7a2d2947 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Thu, 7 Jul 2011 12:43:51 +0200 Subject: [PATCH] gdi32: Export the gdi_physdev structure for the external drivers. --- dlls/gdi32/gdi_private.h | 10 ++-------- dlls/wineps.drv/psdrv.h | 3 ++- dlls/winex11.drv/x11drv.h | 6 +----- include/wine/gdi_driver.h | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 38 insertions(+), 14 deletions(-) create mode 100644 include/wine/gdi_driver.h diff --git a/dlls/gdi32/gdi_private.h b/dlls/gdi32/gdi_private.h index cc3592fb48a..456d92cf59e 100644 --- a/dlls/gdi32/gdi_private.h +++ b/dlls/gdi32/gdi_private.h @@ -26,6 +26,7 @@ #include "windef.h" #include "winbase.h" #include "wingdi.h" +#include "wine/gdi_driver.h" /* Metafile defines */ #define META_EOF 0x0000 @@ -72,13 +73,6 @@ typedef struct tagGDIOBJHDR /* Device functions for the Wine driver interface */ -typedef struct gdi_physdev -{ - const struct tagDC_FUNCS *funcs; - struct gdi_physdev *next; - HDC hdc; -} *PHYSDEV; - typedef struct { int bit_count, width, height; @@ -154,7 +148,7 @@ typedef struct dibdrv_physdev #define DEFER_PEN 2 #define DEFER_BRUSH 4 -typedef struct tagDC_FUNCS +typedef struct gdi_dc_funcs { INT (CDECL *pAbortDoc)(PHYSDEV); BOOL (CDECL *pAbortPath)(PHYSDEV); diff --git a/dlls/wineps.drv/psdrv.h b/dlls/wineps.drv/psdrv.h index 1195662330e..20e6e52b92e 100644 --- a/dlls/wineps.drv/psdrv.h +++ b/dlls/wineps.drv/psdrv.h @@ -28,6 +28,7 @@ #include "wingdi.h" #include "winspool.h" +#include "wine/gdi_driver.h" #include "wine/list.h" typedef struct { @@ -353,7 +354,7 @@ typedef struct { typedef struct { - void *reserved[3]; /* reserved for gdi */ + struct gdi_physdev dev; HDC hdc; PSFONT font; /* Current PS font */ DOWNLOAD *downloaded_fonts; diff --git a/dlls/winex11.drv/x11drv.h b/dlls/winex11.drv/x11drv.h index c4125ecf704..21411f51df9 100644 --- a/dlls/winex11.drv/x11drv.h +++ b/dlls/winex11.drv/x11drv.h @@ -59,6 +59,7 @@ typedef int Status; #include "wingdi.h" #include "winuser.h" #include "ddrawi.h" +#include "wine/gdi_driver.h" #include "wine/list.h" #define MAX_PIXELFORMATS 8 @@ -141,11 +142,6 @@ typedef UINT X_PHYSFONT; struct xrender_info; -typedef struct gdi_physdev -{ - void *reserved[3]; -} *PHYSDEV; - /* X physical device */ typedef struct { diff --git a/include/wine/gdi_driver.h b/include/wine/gdi_driver.h new file mode 100644 index 00000000000..882d5c5b41a --- /dev/null +++ b/include/wine/gdi_driver.h @@ -0,0 +1,33 @@ +/* + * Definitions for Wine GDI drivers + * + * Copyright 2011 Alexandre Julliard + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef __WINE_WINE_GDI_DRIVER_H +#define __WINE_WINE_GDI_DRIVER_H + +struct gdi_dc_funcs; + +typedef struct gdi_physdev +{ + const struct gdi_dc_funcs *funcs; + struct gdi_physdev *next; + HDC hdc; +} *PHYSDEV; + +#endif /* __WINE_WINE_GDI_DRIVER_H */