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 #ifndef __GRAPHICS_WINE_DDRAW_PRIVATE_H
#define __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 "ddraw.h"
#include "winuser.h" #include "winuser.h"
...@@ -74,9 +80,13 @@ struct _common_directdrawdata ...@@ -74,9 +80,13 @@ struct _common_directdrawdata
struct _dga_directdrawdata struct _dga_directdrawdata
{ {
DWORD fb_width,fb_height,fb_banksize,fb_memsize; DWORD fb_width,fb_height,fb_memsize;
void* fb_addr; void* fb_addr;
unsigned int vpmask; unsigned int vpmask;
#ifdef HAVE_LIBXXF86DGA2
int version;
XDGADevice *dev;
#endif /* define(HAVE_LIBXXF86DGA2) */
}; };
struct _xlib_directdrawdata struct _xlib_directdrawdata
......
...@@ -91,6 +91,8 @@ extern int TSXGetKeyboardControl(Display*, XKeyboardState*); ...@@ -91,6 +91,8 @@ extern int TSXGetKeyboardControl(Display*, XKeyboardState*);
extern int TSXGetScreenSaver(Display*, int*, int*, int*, int*); 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 TSXGetWindowProperty(Display*, Window, Atom, long, long, int, Atom, Atom*, int*, unsigned long*, unsigned long*, unsigned char**);
extern int TSXGetWindowAttributes(Display*, Window, XWindowAttributes*); 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 TSXGrabServer(Display*);
extern int TSXInstallColormap(Display*, Colormap); extern int TSXInstallColormap(Display*, Colormap);
extern KeyCode TSXKeysymToKeycode(Display*, KeySym); extern KeyCode TSXKeysymToKeycode(Display*, KeySym);
...@@ -129,6 +131,8 @@ extern int TSXStoreName(Display*, Window, const char*); ...@@ -129,6 +131,8 @@ extern int TSXStoreName(Display*, Window, const char*);
extern int TSXSync(Display*, int); extern int TSXSync(Display*, int);
extern int TSXTextExtents(XFontStruct*, const char*, int, int*, int*, int*, XCharStruct*); extern int TSXTextExtents(XFontStruct*, const char*, int, int*, int*, int*, XCharStruct*);
extern int TSXTextWidth(XFontStruct*, const char*, int); extern int TSXTextWidth(XFontStruct*, const char*, int);
extern int TSXUngrabKeyboard(Display*, Time);
extern int TSXUngrabPointer(Display*, Time);
extern int TSXUngrabServer(Display*); extern int TSXUngrabServer(Display*);
extern int TSXUninstallColormap(Display*, Colormap); extern int TSXUninstallColormap(Display*, Colormap);
extern int TSXUnmapWindow(Display*, Window); extern int TSXUnmapWindow(Display*, Window);
......
...@@ -78,6 +78,8 @@ XGetVisualInfo ...@@ -78,6 +78,8 @@ XGetVisualInfo
XGetWMSizeHints XGetWMSizeHints
XGetWindowAttributes XGetWindowAttributes
XGetWindowProperty XGetWindowProperty
XGrabKeyboard
XGrabPointer
XGrabServer XGrabServer
XIconifyWindow XIconifyWindow
XInitThreads XInitThreads
...@@ -157,6 +159,8 @@ XSync ...@@ -157,6 +159,8 @@ XSync
XSynchronize XSynchronize
XTextExtents XTextExtents
XTextWidth XTextWidth
XUngrabKeyboard
XUngrabPointer
XUngrabServer XUngrabServer
XUninstallColormap XUninstallColormap
XUnionRectWithRegion XUnionRectWithRegion
......
...@@ -840,6 +840,28 @@ int TSXGetWindowAttributes(Display* a0, Window a1, XWindowAttributes* a2) ...@@ -840,6 +840,28 @@ int TSXGetWindowAttributes(Display* a0, Window a1, XWindowAttributes* a2)
return r; 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 TSXGrabServer(Display* a0)
{ {
int r; int r;
...@@ -1258,6 +1280,28 @@ int TSXTextWidth(XFontStruct* a0, const char* a1, int a2) ...@@ -1258,6 +1280,28 @@ int TSXTextWidth(XFontStruct* a0, const char* a1, int a2)
return r; 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 TSXUngrabServer(Display* a0)
{ {
int r; 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