Merge remote-tracking branch 'jturney/mingw-w64-w32api'

This commit is contained in:
Keith Packard 2012-11-05 08:45:21 -08:00
commit 04f980ead5
6 changed files with 7 additions and 92 deletions

View File

@ -147,6 +147,8 @@ XWin_SOURCES = $(SRCS)
INCLUDES = -I$(top_srcdir)/miext/rootless INCLUDES = -I$(top_srcdir)/miext/rootless
XWIN_SYS_LIBS += -ldxguid
XWin_DEPENDENCIES = $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_LIBS) $(MAIN_LIB) $(XSERVER_LIBS) XWin_DEPENDENCIES = $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_LIBS) $(MAIN_LIB) $(XSERVER_LIBS)
XWin_LDADD = $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_GLX_LINK_FLAGS) $(XWIN_LIBS) $(MAIN_LIB) $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) $(XWIN_SYS_LIBS) XWin_LDADD = $(MULTIWINDOWEXTWM_LIBS) $(XWIN_GLX_LIBS) $(XWIN_GLX_LINK_FLAGS) $(XWIN_LIBS) $(MAIN_LIB) $(XSERVER_LIBS) $(XSERVER_SYS_LIBS) $(XWIN_SYS_LIBS)
XWin_LDFLAGS = -mwindows -static XWin_LDFLAGS = -mwindows -static

View File

@ -42,7 +42,11 @@
#include <X11/Xwindows.h> #include <X11/Xwindows.h>
#include <windowsx.h> #include <windowsx.h>
#pragma push_macro("Status")
#undef Status
#define Status wStatus
#include "ddraw.h" #include "ddraw.h"
#pragma pop_macro("Status")
#undef CreateWindow #undef CreateWindow

View File

@ -55,8 +55,6 @@
#include <X11/Xwindows.h> #include <X11/Xwindows.h>
/* Local headers */ /* Local headers */
#include "objbase.h"
#include "ddraw.h"
#include "winwindow.h" #include "winwindow.h"
#include "winprefs.h" #include "winprefs.h"
#include "window.h" #include "window.h"

View File

@ -36,24 +36,6 @@
#endif #endif
#include "win.h" #include "win.h"
/*
* FIXME: Headers are broken, DEFINE_GUID doesn't work correctly,
* so we have to redefine it here.
*/
#ifdef DEFINE_GUID
#undef DEFINE_GUID
#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
#endif /* DEFINE_GUID */
/*
* FIXME: Headers are broken, IID_IDirectDraw2 has to be defined
* here manually. Should be handled by ddraw.h
*/
#ifndef IID_IDirectDraw2
DEFINE_GUID(IID_IDirectDraw2, 0xB3A6F3E0, 0x2B43, 0x11CF, 0xA2, 0xDE, 0x00,
0xAA, 0x00, 0xB9, 0x33, 0x56);
#endif /* IID_IDirectDraw2 */
/* /*
* Local prototypes * Local prototypes
*/ */

View File

@ -36,24 +36,6 @@
#endif #endif
#include "win.h" #include "win.h"
/*
* FIXME: Headers are broken, DEFINE_GUID doesn't work correctly,
* so we have to redefine it here.
*/
#ifdef DEFINE_GUID
#undef DEFINE_GUID
#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) const GUID n GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
#endif /* DEFINE_GUID */
/*
* FIXME: Headers are broken, IID_IDirectDraw4 has to be defined
* here manually. Should be handled by ddraw.h
*/
#ifndef IID_IDirectDraw4
DEFINE_GUID(IID_IDirectDraw4, 0x9c59509a, 0x39bd, 0x11d1, 0x8c, 0x4a, 0x00,
0xc0, 0x4f, 0xd9, 0x30, 0xc5);
#endif /* IID_IDirectDraw4 */
#define FAIL_MSG_MAX_BLT 10 #define FAIL_MSG_MAX_BLT 10
/* /*
@ -526,50 +508,6 @@ winFreeFBShadowDDNL(ScreenPtr pScreen)
pScreenInfo->pfb = NULL; pScreenInfo->pfb = NULL;
} }
#if defined(XWIN_MULTIWINDOW) || defined(XWIN_MULTIWINDOWEXTWM)
/*
* Create a DirectDraw surface for the new multi-window window
*/
static
Bool
winFinishCreateWindowsWindowDDNL(WindowPtr pWin)
{
winWindowPriv(pWin);
winPrivScreenPtr pScreenPriv = pWinPriv->pScreenPriv;
HRESULT ddrval = DD_OK;
DDSURFACEDESC2 ddsd;
int iWidth, iHeight;
int iX, iY;
winDebug("winFinishCreateWindowsWindowDDNL!\n\n");
iX = pWin->drawable.x + GetSystemMetrics(SM_XVIRTUALSCREEN);
iY = pWin->drawable.y + GetSystemMetrics(SM_YVIRTUALSCREEN);
iWidth = pWin->drawable.width;
iHeight = pWin->drawable.height;
/* Describe the primary surface */
ZeroMemory(&ddsd, sizeof(ddsd));
ddsd.dwSize = sizeof(ddsd);
ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT;
ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;
ddsd.dwHeight = iHeight;
ddsd.dwWidth = iWidth;
/* Create the primary surface */
ddrval = IDirectDraw4_CreateSurface(pScreenPriv->pdd4,
&ddsd, &pWinPriv->pddsPrimary4, NULL);
if (FAILED(ddrval)) {
ErrorF("winFinishCreateWindowsWindowDDNL - Could not create primary "
"surface: %08x\n", (unsigned int) ddrval);
return FALSE;
}
return TRUE;
}
#endif
/* /*
* Transfer the damaged regions of the shadow framebuffer to the display. * Transfer the damaged regions of the shadow framebuffer to the display.
*/ */
@ -1278,7 +1216,7 @@ winSetEngineFunctionsShadowDDNL(ScreenPtr pScreen)
pScreenPriv->pwinReleasePrimarySurface = winReleasePrimarySurfaceShadowDDNL; pScreenPriv->pwinReleasePrimarySurface = winReleasePrimarySurfaceShadowDDNL;
#ifdef XWIN_MULTIWINDOW #ifdef XWIN_MULTIWINDOW
pScreenPriv->pwinFinishCreateWindowsWindow pScreenPriv->pwinFinishCreateWindowsWindow
= winFinishCreateWindowsWindowDDNL; = (winFinishCreateWindowsWindowProcPtr) (void (*)(void)) NoopDDA;
#endif #endif
return TRUE; return TRUE;

View File

@ -81,15 +81,6 @@ typedef struct {
#ifdef XWIN_GLX_WINDOWS #ifdef XWIN_GLX_WINDOWS
Bool fWglUsed; Bool fWglUsed;
#endif #endif
/* Privates used by primary fb DirectDraw server */
LPDDSURFACEDESC pddsdPrimary;
/* Privates used by shadow fb DirectDraw Nonlocking server */
LPDIRECTDRAWSURFACE4 pddsPrimary4;
/* Privates used by both shadow fb DirectDraw servers */
LPDIRECTDRAWCLIPPER pddcPrimary;
} winPrivWinRec, *winPrivWinPtr; } winPrivWinRec, *winPrivWinPtr;
#ifdef XWIN_MULTIWINDOW #ifdef XWIN_MULTIWINDOW