//=================================================================
//
// Copyright (c) Microsoft Corporation 1999 - All Rights Reserved.
//
//=================================================================

#pragma once

#include <windows.h>
#include <assert.h>
#define ASSERT assert

#define USE_DX7_INTERFACE
//#define APPLY_CLIP_MATRIX_SEPARATELY
//#define CLIP_NEG1_TO_1

//========================================================================
// global variables
//========================================================================
extern HINSTANCE		g_hInstDll;
extern HINSTANCE		g_hInstDDraw;
extern const char		g_szDeviceName[];
extern const char		g_szDeviceDesc[];

//========================================================================
// global function pointers
//========================================================================
extern HRESULT (WINAPI *g_pfnDirectDrawCreate)( GUID FAR *lpGUID, LPDIRECTDRAW FAR *lplpDD, IUnknown FAR *pUnkOuter );
extern HRESULT (WINAPI *g_pfnDirectDrawCreateClipper)( DWORD dwFlags, LPDIRECTDRAWCLIPPER FAR *lplpDDClipper, IUnknown FAR *pUnkOuter );
extern HRESULT (WINAPI *g_pfnDirectDrawEnumerateW)( LPDDENUMCALLBACKW lpCallback, LPVOID lpContext );
extern HRESULT (WINAPI *g_pfnDirectDrawEnumerateA)( LPDDENUMCALLBACKA lpCallback, LPVOID lpContext );
extern HRESULT (WINAPI *g_pfnDirectDrawEnumerateExW)( LPDDENUMCALLBACKEXW lpCallback, LPVOID lpContext, DWORD dwFlags);
extern HRESULT (WINAPI *g_pfnDirectDrawEnumerateExA)( LPDDENUMCALLBACKEXA lpCallback, LPVOID lpContext, DWORD dwFlags);
#ifdef USE_DX7_INTERFACE
extern HRESULT (WINAPI *g_pfnDirectDrawCreateEx)( GUID FAR *lpGUID, LPVOID *lplpDD, REFIID iid, IUnknown FAR *pUnkOuter );
#endif


#ifdef _DEBUG
extern int __cdecl dprintf(char *format,...);
#else // _DEBUG
#pragma warning (disable : 4002)
#pragma warning (disable : 4390)
#define dprintf()
#endif // _DEBUG


