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 LPDIRECTDRAW2 iface,
00021 REFIID id,
00022 LPVOID *obj);
00023
00024 ULONG WINAPI
00025 Main_DirectDraw_AddRef (LPDIRECTDRAW2 iface);
00026
00027 ULONG WINAPI
00028 Main_DirectDraw_Release (LPDIRECTDRAW2 iface);
00029
00030 HRESULT WINAPI
00031 Main_DirectDraw_Compact(LPDIRECTDRAW2 iface);
00032
00033 HRESULT WINAPI
00034 Main_DirectDraw_CreateClipper(
00035 LPDIRECTDRAW2 iface,
00036 DWORD dwFlags,
00037 LPDIRECTDRAWCLIPPER *ppClipper,
00038 IUnknown *pUnkOuter);
00039
00040 HRESULT WINAPI
00041 Main_DirectDraw_CreatePalette(
00042 LPDIRECTDRAW2 iface,
00043 DWORD dwFlags,
00044 LPPALETTEENTRY palent,
00045 LPDIRECTDRAWPALETTE* ppPalette,
00046 LPUNKNOWN pUnkOuter);
00047
00048 HRESULT WINAPI
00049 Main_DirectDraw_CreateSurface(
00050 LPDIRECTDRAW2 iface,
00051 LPDDSURFACEDESC pDDSD,
00052 LPDIRECTDRAWSURFACE *ppSurf,
00053 IUnknown *pUnkOuter);
00054
00055 HRESULT WINAPI
00056 Main_DirectDraw_DuplicateSurface(
00057 LPDIRECTDRAW2 iface,
00058 LPDIRECTDRAWSURFACE src,
00059 LPDIRECTDRAWSURFACE* dst);
00060
00061 HRESULT WINAPI
00062 Main_DirectDraw_EnumDisplayModes(
00063 LPDIRECTDRAW2 iface,
00064 DWORD dwFlags,
00065 LPDDSURFACEDESC pDDSD,
00066 LPVOID pContext,
00067 LPDDENUMMODESCALLBACK pCallback);
00068
00069 HRESULT WINAPI
00070 Main_DirectDraw_EnumSurfaces(
00071 LPDIRECTDRAW2 iface,
00072 DWORD dwFlags,
00073 LPDDSURFACEDESC lpDDSD,
00074 LPVOID context,
00075 LPDDENUMSURFACESCALLBACK callback);
00076
00077 HRESULT WINAPI
00078 Main_DirectDraw_FlipToGDISurface(LPDIRECTDRAW2 iface);
00079
00080 HRESULT WINAPI
00081 Main_DirectDraw_GetCaps(
00082 LPDIRECTDRAW2 iface,
00083 LPDDCAPS pDriverCaps,
00084 LPDDCAPS pHELCaps);
00085
00086 HRESULT WINAPI
00087 Main_DirectDraw_GetDisplayMode (
00088 LPDIRECTDRAW2 iface,
00089 LPDDSURFACEDESC pDDSD);
00090
00091 HRESULT WINAPI
00092 Main_DirectDraw_GetFourCCCodes(
00093 LPDIRECTDRAW2 iface,
00094 LPDWORD lpNumCodes,
00095 LPDWORD lpCodes);
00096
00097 HRESULT WINAPI
00098 Main_DirectDraw_GetGDISurface(
00099 LPDIRECTDRAW2 iface,
00100 LPDIRECTDRAWSURFACE *lplpGDIDDSSurface);
00101
00102 HRESULT WINAPI
00103 Main_DirectDraw_GetMonitorFrequency (
00104 LPDIRECTDRAW2 iface,
00105 LPDWORD lpFreq);
00106
00107
00108 HRESULT WINAPI
00109 Main_DirectDraw_GetScanLine(LPDIRECTDRAW2 iface,
00110 LPDWORD lpdwScanLine);
00111
00112 HRESULT WINAPI
00113 Main_DirectDraw_GetVerticalBlankStatus(
00114 LPDIRECTDRAW2 iface,
00115 LPBOOL lpbIsInVB);
00116
00117 HRESULT WINAPI
00118 Main_DirectDraw_Initialize (
00119 LPDIRECTDRAW2 iface,
00120 LPGUID lpGUID);
00121
00122
00123 HRESULT WINAPI
00124 Main_DirectDraw_RestoreDisplayMode (LPDIRECTDRAW2 iface);
00125
00126 HRESULT WINAPI
00127 Main_DirectDraw_SetCooperativeLevel (
00128 LPDIRECTDRAW2 iface,
00129 HWND hwnd,
00130 DWORD cooplevel);
00131
00132 HRESULT WINAPI
00133 Main_DirectDraw_SetDisplayMode2(
00134 LPDIRECTDRAW2 iface,
00135 DWORD dwWidth,
00136 DWORD dwHeight,
00137 DWORD dwBPP,
00138 DWORD dwRefreshRate,
00139 DWORD dwFlags);
00140
00141 HRESULT WINAPI
00142 Main_DirectDraw_WaitForVerticalBlank(
00143 LPDIRECTDRAW2 iface,
00144 DWORD dwFlags,
00145 HANDLE h);
00146
00147
00148 HRESULT WINAPI
00149 Main_DirectDraw_GetAvailableVidMem(
00150 LPDIRECTDRAW2 iface,
00151 LPDDSCAPS ddscaps,
00152 LPDWORD dwTotal,
00153 LPDWORD dwFree);
00154
00155
00156 IDirectDraw2Vtbl DirectDraw2_Vtable =
00157 {
00158 Main_DirectDraw_QueryInterface,
00159 Main_DirectDraw_AddRef,
00160 Main_DirectDraw_Release,
00161 Main_DirectDraw_Compact,
00162 Main_DirectDraw_CreateClipper,
00163 Main_DirectDraw_CreatePalette,
00164 Main_DirectDraw_CreateSurface,
00165 Main_DirectDraw_DuplicateSurface,
00166 Main_DirectDraw_EnumDisplayModes,
00167 Main_DirectDraw_EnumSurfaces,
00168 Main_DirectDraw_FlipToGDISurface,
00169 Main_DirectDraw_GetCaps,
00170 Main_DirectDraw_GetDisplayMode,
00171 Main_DirectDraw_GetFourCCCodes,
00172 Main_DirectDraw_GetGDISurface,
00173 Main_DirectDraw_GetMonitorFrequency,
00174 Main_DirectDraw_GetScanLine,
00175 Main_DirectDraw_GetVerticalBlankStatus,
00176 Main_DirectDraw_Initialize,
00177 Main_DirectDraw_RestoreDisplayMode,
00178 Main_DirectDraw_SetCooperativeLevel,
00179 Main_DirectDraw_SetDisplayMode2,
00180 Main_DirectDraw_WaitForVerticalBlank,
00181 Main_DirectDraw_GetAvailableVidMem
00182 };
00183
00184
00185