Call TSXFlush after setting DGA palette, so it updates immediately.
[wine] / dlls / ddraw / dga_private.h
1 #ifndef __WINE_DDRAW_DGA_PRIVATE_H
2 #define __WINE_DDRAW_DGA_PRIVATE_H
3
4 #include "ddraw_private.h"
5 #include "x11_private.h"
6
7 #include "ts_xf86dga.h"
8
9 #ifdef HAVE_LIBXXF86VM
10 # include "ts_xf86vmode.h"
11 extern XF86VidModeModeInfo *orig_mode;
12 #endif /* defined(HAVE_LIBXXF86VM) */
13
14 extern ICOM_VTABLE(IDirectDrawSurface4) dga_dds4vt;
15 extern ICOM_VTABLE(IDirectDraw)         dga_ddvt;
16 extern ICOM_VTABLE(IDirectDrawPalette)  dga_ddpalvt;
17
18 typedef struct dga_dd_private {
19     DWORD       fb_height;              /* height of the viewport */
20     DWORD       fb_width;               /* width of the viewport */
21     caddr_t     fb_addr;                /* start address of the framebuffer */
22     DWORD       fb_memsize;             /* total memory on the card */
23     DWORD       vpmask;                 /* viewports in use flag bitmap */
24     void      (*InstallColormap)(Display *, int, Colormap) ;
25 } dga_dd_private;
26
27 typedef x11_dp_private dga_dp_private;  /* reuse X11 palette stuff */
28
29 typedef struct dga_ds_private {
30     DWORD       fb_height;
31     int         *oldDIBmap;
32 } dga_ds_private;
33
34 /* For usage in DGA2 */
35 extern ULONG WINAPI DGA_IDirectDrawSurface4Impl_Release(LPDIRECTDRAWSURFACE4 iface) ;
36 extern HRESULT WINAPI DGA_IDirectDrawSurface4Impl_SetPalette(LPDIRECTDRAWSURFACE4 iface,LPDIRECTDRAWPALETTE pal) ;
37 extern HRESULT WINAPI DGA_IDirectDrawSurface4Impl_Unlock(LPDIRECTDRAWSURFACE4 iface,LPVOID surface) ;
38 extern HRESULT WINAPI DGA_IDirectDrawSurface4Impl_GetDC(LPDIRECTDRAWSURFACE4 iface,HDC* lphdc);
39
40 extern HRESULT WINAPI DGA_IDirectDraw2Impl_CreateSurface_with_VT(LPDIRECTDRAW2 iface,LPDDSURFACEDESC lpddsd,
41                                                                  LPDIRECTDRAWSURFACE *lpdsf,IUnknown *lpunk, void *vtable) ;
42
43 extern HRESULT WINAPI DGA_IDirectDraw2Impl_QueryInterface(LPDIRECTDRAW2 iface,REFIID refiid,LPVOID *obj) ;
44 extern HRESULT WINAPI DGA_IDirectDraw2Impl_GetCaps(LPDIRECTDRAW2 iface,LPDDCAPS caps1,LPDDCAPS caps2) ;
45
46 extern HRESULT WINAPI DGA_IDirectDraw2Impl_GetDisplayMode(LPDIRECTDRAW2 iface,LPDDSURFACEDESC lpddsfd) ;
47 extern HRESULT WINAPI DGA_IDirectDraw2Impl_GetAvailableVidMem(LPDIRECTDRAW2 iface,LPDDSCAPS ddscaps,LPDWORD total,LPDWORD free) ;
48
49
50 #endif /* __WINE_DDRAW_DGA_PRIVATE_H */