Commit ba02d1d7 authored by Lionel Ulmer's avatar Lionel Ulmer Committed by Alexandre Julliard

First support of DGA 2.0 for DirectDraw.

parent fdf71277
#ifndef __GRAPHICS_WINE_DDRAW_PRIVATE_H
#define __GRAPHICS_WINE_DDRAW_PRIVATE_H
#include "config.h"
#ifdef HAVE_LIBXXF86DGA2
#include "ts_xf86dga2.h"
#endif /* defined(HAVE_LIBXXF86DGA2) */
#include "ddraw.h"
#include "winuser.h"
......@@ -74,9 +80,13 @@ struct _common_directdrawdata
struct _dga_directdrawdata
{
DWORD fb_width,fb_height,fb_banksize,fb_memsize;
DWORD fb_width,fb_height,fb_memsize;
void* fb_addr;
unsigned int vpmask;
#ifdef HAVE_LIBXXF86DGA2
int version;
XDGADevice *dev;
#endif /* define(HAVE_LIBXXF86DGA2) */
};
struct _xlib_directdrawdata
......
......@@ -91,6 +91,8 @@ extern int TSXGetKeyboardControl(Display*, XKeyboardState*);
extern int TSXGetScreenSaver(Display*, int*, int*, int*, int*);
extern int TSXGetWindowProperty(Display*, Window, Atom, long, long, int, Atom, Atom*, int*, unsigned long*, unsigned long*, unsigned char**);
extern int TSXGetWindowAttributes(Display*, Window, XWindowAttributes*);
extern int TSXGrabKeyboard(Display*, Window, int, int, int, Time);
extern int TSXGrabPointer(Display*, Window, int, unsigned int, int, int, Window, Cursor, Time);
extern int TSXGrabServer(Display*);
extern int TSXInstallColormap(Display*, Colormap);
extern KeyCode TSXKeysymToKeycode(Display*, KeySym);
......@@ -129,6 +131,8 @@ extern int TSXStoreName(Display*, Window, const char*);
extern int TSXSync(Display*, int);
extern int TSXTextExtents(XFontStruct*, const char*, int, int*, int*, int*, XCharStruct*);
extern int TSXTextWidth(XFontStruct*, const char*, int);
extern int TSXUngrabKeyboard(Display*, Time);
extern int TSXUngrabPointer(Display*, Time);
extern int TSXUngrabServer(Display*);
extern int TSXUninstallColormap(Display*, Colormap);
extern int TSXUnmapWindow(Display*, Window);
......
......@@ -78,6 +78,8 @@ XGetVisualInfo
XGetWMSizeHints
XGetWindowAttributes
XGetWindowProperty
XGrabKeyboard
XGrabPointer
XGrabServer
XIconifyWindow
XInitThreads
......@@ -157,6 +159,8 @@ XSync
XSynchronize
XTextExtents
XTextWidth
XUngrabKeyboard
XUngrabPointer
XUngrabServer
XUninstallColormap
XUnionRectWithRegion
......
......@@ -840,6 +840,28 @@ int TSXGetWindowAttributes(Display* a0, Window a1, XWindowAttributes* a2)
return r;
}
int TSXGrabKeyboard(Display* a0, Window a1, int a2, int a3, int a4, Time a5)
{
int r;
TRACE("Call XGrabKeyboard\n");
EnterCriticalSection( &X11DRV_CritSection );
r = XGrabKeyboard(a0, a1, a2, a3, a4, a5);
LeaveCriticalSection( &X11DRV_CritSection );
TRACE("Ret XGrabKeyboard\n");
return r;
}
int TSXGrabPointer(Display* a0, Window a1, int a2, unsigned int a3, int a4, int a5, Window a6, Cursor a7, Time a8)
{
int r;
TRACE("Call XGrabPointer\n");
EnterCriticalSection( &X11DRV_CritSection );
r = XGrabPointer(a0, a1, a2, a3, a4, a5, a6, a7, a8);
LeaveCriticalSection( &X11DRV_CritSection );
TRACE("Ret XGrabPointer\n");
return r;
}
int TSXGrabServer(Display* a0)
{
int r;
......@@ -1258,6 +1280,28 @@ int TSXTextWidth(XFontStruct* a0, const char* a1, int a2)
return r;
}
int TSXUngrabKeyboard(Display* a0, Time a1)
{
int r;
TRACE("Call XUngrabKeyboard\n");
EnterCriticalSection( &X11DRV_CritSection );
r = XUngrabKeyboard(a0, a1);
LeaveCriticalSection( &X11DRV_CritSection );
TRACE("Ret XUngrabKeyboard\n");
return r;
}
int TSXUngrabPointer(Display* a0, Time a1)
{
int r;
TRACE("Call XUngrabPointer\n");
EnterCriticalSection( &X11DRV_CritSection );
r = XUngrabPointer(a0, a1);
LeaveCriticalSection( &X11DRV_CritSection );
TRACE("Ret XUngrabPointer\n");
return r;
}
int TSXUngrabServer(Display* a0)
{
int r;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment