6dfba069bc4c58fe6c4946990025ef2635aebf04
[wine/hacks.git] / dlls / winedib.drv / dibdrv.h
blob6dfba069bc4c58fe6c4946990025ef2635aebf04
1 /*
2 * DIB driver private definitions
4 * Copyright 2009 Massimo Del Fedele
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2.1 of the License, or (at your option) any later version.
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
20 #ifndef __WINE_DIBDRV_H
21 #define __WINE_DIBDRV_H
23 #include <stdarg.h>
24 #include <stdlib.h>
25 #include <X11/Xlib.h>
27 #include "windef.h"
28 #include "winbase.h"
29 #include "winerror.h"
30 #include "wingdi.h"
31 #include "wine/list.h"
32 #include "wine/library.h"
33 #include "wine/debug.h"
34 #include "wingdi.h"
35 #include "winreg.h"
36 #include "wine/winbase16.h" /* GlobalLock16 */
38 /* data structures needed to access opaque pointers
39 * defined in gdi32.h */
40 #include "dibdrv_gdi32.h"
42 /* provide a way to make debugging output appear
43 only once. Usage example:
44 ONCE(FIXME("Some message\n")); */
45 #define ONCE(x) \
46 { \
47 static BOOL done = FALSE; \
48 if(!done) \
49 { \
50 done = TRUE; \
51 x; \
52 } \
56 /* DIB driver physical device */
57 typedef struct _DIBDRVPHYSDEV
59 /* X11 driver physical device */
60 PHYSDEV X11PhysDev;
62 /* active ROP2 */
63 INT rop2;
65 } DIBDRVPHYSDEV;
68 /* *********************************************************************
69 * DISPLAY DRIVER ACCESS FUNCTIONS
70 * ********************************************************************/
72 /* LoadDisplayDriver
73 * Loads display driver - partially grabbed from gdi32 */
74 DC_FUNCTIONS *_DIBDRV_LoadDisplayDriver(void);
76 /* FreeDisplayDriver
77 Frees resources allocated by Display driver */
78 void _DIBDRV_FreeDisplayDriver(void);
80 /* GetDisplayDriver
81 Gets a pointer to display drives'function table */
82 inline DC_FUNCTIONS *_DIBDRV_GetDisplayDriver(void);
84 #endif /* __WINE_DIBDRV_H */