Added some missing definitions.
[wine/multimedia.git] / dlls / ddraw / x11_private.h
blobe135fa8c014481f186a21aac27f73230971e8a2c
1 #ifndef __WINE_DDRAW_X11_PRIVATE_H
2 #define __WINE_DDRAW_X11_PRIVATE_H
4 /* This file contains all X11 private and specific definitions.
5 * It may also be used by all ports that reuse X11 stuff (like XF86 DGA)
6 */
7 #include "config.h"
8 #include "ts_xlib.h"
9 #include "ts_xutil.h"
11 #ifdef HAVE_LIBXXSHM
12 # include <sys/types.h>
13 # ifdef HAVE_SYS_IPC_H
14 # include <sys/ipc.h>
15 # endif
16 # ifdef HAVE_SYS_SHM_H
17 # include <sys/shm.h>
18 # endif
19 # include "ts_xshm.h"
20 #endif /* defined(HAVE_LIBXXSHM) */
22 #ifdef HAVE_LIBXXF86VM
23 # include "ts_xf86vmode.h"
24 extern XF86VidModeModeInfo *orig_mode;
25 #endif /* defined(HAVE_LIBXXF86VM) */
27 extern void xf86vmode_setdisplaymode(DWORD,DWORD);
28 extern void xf86vmode_restore();
30 #ifdef HAVE_XVIDEO
31 #include "ts_xvideo.h"
32 #else
33 /* Fake type so that NOT to have too many #ifdef XVideo lying around */
34 typedef int XvImage;
35 #endif
37 #include "x11drv.h"
39 #include "ddraw_private.h"
41 #include "wine_gl.h"
43 extern ICOM_VTABLE(IDirectDraw) xlib_ddvt;
44 extern ICOM_VTABLE(IDirectDraw2) xlib_dd2vt;
45 extern ICOM_VTABLE(IDirectDraw4) xlib_dd4vt;
46 extern ICOM_VTABLE(IDirectDraw7) xlib_dd7vt;
47 extern ICOM_VTABLE(IDirectDrawPalette) xlib_ddpalvt;
48 extern ICOM_VTABLE(IDirectDrawSurface4) xlib_dds4vt;
50 typedef struct x11_dd_private {
51 #ifdef HAVE_LIBXXSHM
52 int xshm_active, xshm_compl;
53 #endif /* defined(HAVE_LIBXXSHM) */
54 #ifdef HAVE_XVIDEO
55 BOOL xvideo_active;
56 XvPortID port_id;
57 #endif
58 Window drawable;
59 void *device_capabilities;
60 } x11_dd_private;
62 typedef struct x11_dp_private {
63 BOOL installed; /* is colormap installed */
64 Colormap cm; /* the X11 Colormap associated */
65 } x11_dp_private;
67 extern HRESULT WINAPI Xlib_IDirectDrawPaletteImpl_SetEntries(LPDIRECTDRAWPALETTE,DWORD,DWORD,DWORD,LPPALETTEENTRY);
68 extern ULONG WINAPI Xlib_IDirectDrawPaletteImpl_Release(LPDIRECTDRAWPALETTE iface);
70 typedef struct x11_ds_private {
71 BOOL is_overlay;
72 union {
73 XImage *image;
74 struct {
75 /* The 'image' field should be in FIRST !!!! The Flip function depends on that... */
76 XvImage *image;
77 BOOL shown;
78 RECT src_rect;
79 RECT dst_rect;
80 LPDIRECTDRAWSURFACE dest_surface;
81 } overlay;
82 } info;
83 #ifdef HAVE_LIBXXSHM
84 XShmSegmentInfo shminfo;
85 #endif
86 int *oldDIBmap;
87 BOOL opengl_flip;
88 } x11_ds_private;
90 #ifdef HAVE_LIBXXSHM
91 extern int XShmErrorFlag;
92 #endif
93 #endif /* __WINE_DDRAW_X11_PRIVATE_H */