00001 #include <windows.h>
00002 #include <stdio.h>
00003 #include <ddraw.h>
00004 #include <ddrawi.h>
00005 #include <d3dhal.h>
00006 #include <ddrawgdi.h>
00007
00008 #if defined(_WIN32) && !defined(_NO_COM )
00009 #define COM_NO_WINDOWS_H
00010 #include <objbase.h>
00011 #else
00012 #define IUnknown void
00013 #if !defined(NT_BUILD_ENVIRONMENT) && !defined(WINNT)
00014 #define CO_E_NOTINITIALIZED 0x800401F0
00015 #endif
00016 #endif
00017
00018 HRESULT WINAPI
00019 Main_DirectDraw_QueryInterface (
00020 LPDIRECTDRAW iface,
00021 REFIID id,
00022 LPVOID *obj);
00023
00024 ULONG WINAPI
00025 Main_DirectDraw_AddRef (LPDIRECTDRAW iface);
00026
00027 ULONG WINAPI
00028 Main_DirectDraw_Release (LPDIRECTDRAW iface);
00029
00030 HRESULT WINAPI
00031 Main_DirectDraw_Compact(LPDIRECTDRAW iface);
00032
00033 HRESULT WINAPI
00034 Main_DirectDraw_CreateClipper(
00035 LPDIRECTDRAW iface,
00036 DWORD dwFlags,
00037 LPDIRECTDRAWCLIPPER *ppClipper,
00038 IUnknown *pUnkOuter);
00039
00040 HRESULT WINAPI
00041 Main_DirectDraw_CreatePalette(
00042 LPDIRECTDRAW iface,
00043 DWORD dwFlags,
00044 LPPALETTEENTRY palent,
00045 LPDIRECTDRAWPALETTE* ppPalette,
00046 LPUNKNOWN pUnkOuter);
00047
00048 HRESULT WINAPI
00049 Main_DirectDraw_CreateSurface(
00050 LPDIRECTDRAW iface,
00051 LPDDSURFACEDESC pDDSD,
00052 LPDIRECTDRAWSURFACE *ppSurf,
00053 IUnknown *pUnkOuter);
00054
00055 HRESULT WINAPI
00056 Main_DirectDraw_DuplicateSurface(
00057 LPDIRECTDRAW iface,
00058 LPDIRECTDRAWSURFACE src,
00059 LPDIRECTDRAWSURFACE *dst);
00060
00061 HRESULT WINAPI
00062 Main_DirectDraw_EnumDisplayModes(
00063 LPDIRECTDRAW iface,
00064 DWORD dwFlags,
00065 LPDDSURFACEDESC pDDSD,
00066 LPVOID pContext,
00067 LPDDENUMMODESCALLBACK pCallback);
00068
00069 HRESULT WINAPI
00070 Main_DirectDraw_EnumSurfaces(
00071 LPDIRECTDRAW iface,
00072 DWORD dwFlags,
00073 LPDDSURFACEDESC lpDDSD2,
00074 LPVOID context,
00075 LPDDENUMSURFACESCALLBACK callback);
00076
00077 HRESULT WINAPI
00078 Main_DirectDraw_FlipToGDISurface(LPDIRECTDRAW iface);
00079
00080 HRESULT WINAPI
00081 Main_DirectDraw_GetCaps(
00082 LPDIRECTDRAW iface,
00083 LPDDCAPS pDriverCaps,
00084 LPDDCAPS pHELCaps);
00085
00086 HRESULT WINAPI
00087 Main_DirectDraw_GetDisplayMode (
00088 LPDIRECTDRAW iface,
00089 LPDDSURFACEDESC pDDSD);
00090
00091 HRESULT WINAPI
00092 Main_DirectDraw_GetFourCCCodes(
00093 LPDIRECTDRAW iface,
00094 LPDWORD lpNumCodes,
00095 LPDWORD lpCodes);
00096
00097 HRESULT WINAPI
00098 Main_DirectDraw_GetGDISurface(
00099 LPDIRECTDRAW iface,
00100 LPDIRECTDRAWSURFACE *lplpGDIDDSSurface);
00101
00102 HRESULT WINAPI
00103 Main_DirectDraw_GetMonitorFrequency (
00104 LPDIRECTDRAW iface,
00105 LPDWORD lpFreq);
00106
00107
00108 HRESULT WINAPI
00109 Main_DirectDraw_GetScanLine(LPDIRECTDRAW iface,
00110 LPDWORD lpdwScanLine);
00111
00112 HRESULT WINAPI
00113 Main_DirectDraw_GetVerticalBlankStatus(
00114 LPDIRECTDRAW iface,
00115 LPBOOL lpbIsInVB);
00116
00117 HRESULT WINAPI
00118 Main_DirectDraw_Initialize (
00119 LPDIRECTDRAW iface,
00120 LPGUID lpGUID);
00121
00122
00123 HRESULT WINAPI
00124 Main_DirectDraw_RestoreDisplayMode (LPDIRECTDRAW iface);
00125
00126 HRESULT WINAPI
00127 Main_DirectDraw_SetCooperativeLevel (
00128 LPDIRECTDRAW iface,
00129 HWND hwnd,
00130 DWORD cooplevel);
00131
00132 HRESULT WINAPI
00133 Main_DirectDraw_SetDisplayMode(
00134 LPDIRECTDRAW iface,
00135 DWORD dwWidth,
00136 DWORD dwHeight,
00137 DWORD dwBPP);
00138
00139 HRESULT WINAPI
00140 Main_DirectDraw_WaitForVerticalBlank(
00141 LPDIRECTDRAW iface,
00142 DWORD dwFlags,
00143 HANDLE h);
00144
00145 IDirectDrawVtbl DirectDraw_Vtable =
00146 {
00147 Main_DirectDraw_QueryInterface,
00148 Main_DirectDraw_AddRef,
00149 Main_DirectDraw_Release,
00150 Main_DirectDraw_Compact,
00151 Main_DirectDraw_CreateClipper,
00152 Main_DirectDraw_CreatePalette,
00153 Main_DirectDraw_CreateSurface,
00154 Main_DirectDraw_DuplicateSurface,
00155 Main_DirectDraw_EnumDisplayModes,
00156 Main_DirectDraw_EnumSurfaces,
00157 Main_DirectDraw_FlipToGDISurface,
00158 Main_DirectDraw_GetCaps,
00159 Main_DirectDraw_GetDisplayMode,
00160 Main_DirectDraw_GetFourCCCodes,
00161 Main_DirectDraw_GetGDISurface,
00162 Main_DirectDraw_GetMonitorFrequency,
00163 Main_DirectDraw_GetScanLine,
00164 Main_DirectDraw_GetVerticalBlankStatus,
00165 Main_DirectDraw_Initialize,
00166 Main_DirectDraw_RestoreDisplayMode,
00167 Main_DirectDraw_SetCooperativeLevel,
00168 Main_DirectDraw_SetDisplayMode,
00169 Main_DirectDraw_WaitForVerticalBlank
00170 };
00171