// public interfaces ULONG WINAPI Main_DDrawSurface_AddRef(LPDDRAWI_DDRAWSURFACE_INT); ULONG WINAPI Main_DDrawSurface_Release(LPDDRAWI_DDRAWSURFACE_INT); HRESULT WINAPI Main_DDrawSurface_QueryInterface(LPDDRAWI_DDRAWSURFACE_INT, REFIID, LPVOID*); HRESULT WINAPI Main_DDrawSurface_Blt(LPDDRAWI_DDRAWSURFACE_INT, LPRECT, LPDDRAWI_DDRAWSURFACE_INT, LPRECT, DWORD, LPDDBLTFX); HRESULT WINAPI Main_DDrawSurface_BltBatch(LPDDRAWI_DDRAWSURFACE_INT, LPDDBLTBATCH, DWORD, DWORD); HRESULT WINAPI Main_DDrawSurface_BltFast(LPDDRAWI_DDRAWSURFACE_INT, DWORD, DWORD, LPDDRAWI_DDRAWSURFACE_INT, LPRECT, DWORD); HRESULT WINAPI Main_DDrawSurface_DeleteAttachedSurface(LPDDRAWI_DDRAWSURFACE_INT, DWORD, LPDDRAWI_DDRAWSURFACE_INT); HRESULT WINAPI Main_DDrawSurface_EnumAttachedSurfaces(LPDDRAWI_DDRAWSURFACE_INT, LPVOID, LPDDENUMSURFACESCALLBACK7); HRESULT WINAPI Main_DDrawSurface_EnumOverlayZOrders(LPDDRAWI_DDRAWSURFACE_INT, DWORD, LPVOID,LPDDENUMSURFACESCALLBACK7); HRESULT WINAPI Main_DDrawSurface_Flip(LPDDRAWI_DDRAWSURFACE_INT , LPDDRAWI_DDRAWSURFACE_INT, DWORD); HRESULT WINAPI Main_DDrawSurface_FreePrivateData(LPDDRAWI_DDRAWSURFACE_INT, REFGUID); HRESULT WINAPI Main_DDrawSurface_GetAttachedSurface(LPDDRAWI_DDRAWSURFACE_INT, LPDDSCAPS2, LPDDRAWI_DDRAWSURFACE_INT*); HRESULT WINAPI Main_DDrawSurface_GetBltStatus(LPDDRAWI_DDRAWSURFACE_INT, DWORD dwFlags); HRESULT WINAPI Main_DDrawSurface_GetCaps(LPDDRAWI_DDRAWSURFACE_INT, LPDDSCAPS2 pCaps); HRESULT WINAPI Main_DDrawSurface_GetClipper(LPDDRAWI_DDRAWSURFACE_INT, LPDIRECTDRAWCLIPPER*); HRESULT WINAPI Main_DDrawSurface_GetColorKey(LPDDRAWI_DDRAWSURFACE_INT, DWORD, LPDDCOLORKEY); HRESULT WINAPI Main_DDrawSurface_GetDC(LPDDRAWI_DDRAWSURFACE_INT, HDC *); HRESULT WINAPI Main_DDrawSurface_GetDDInterface(LPDDRAWI_DDRAWSURFACE_INT, LPVOID*); HRESULT WINAPI Main_DDrawSurface_GetFlipStatus(LPDDRAWI_DDRAWSURFACE_INT, DWORD); HRESULT WINAPI Main_DDrawSurface_GetLOD(LPDDRAWI_DDRAWSURFACE_INT, LPDWORD); HRESULT WINAPI Main_DDrawSurface_GetOverlayPosition(LPDDRAWI_DDRAWSURFACE_INT, LPLONG, LPLONG); HRESULT WINAPI Main_DDrawSurface_GetPalette(LPDDRAWI_DDRAWSURFACE_INT, LPDIRECTDRAWPALETTE*); HRESULT WINAPI Main_DDrawSurface_GetPixelFormat(LPDDRAWI_DDRAWSURFACE_INT, LPDDPIXELFORMAT); HRESULT WINAPI Main_DDrawSurface_GetPriority(LPDDRAWI_DDRAWSURFACE_INT, LPDWORD); HRESULT WINAPI Main_DDrawSurface_GetPrivateData(LPDDRAWI_DDRAWSURFACE_INT, REFGUID, LPVOID, LPDWORD); HRESULT WINAPI Main_DDrawSurface_GetSurfaceDesc(LPDDRAWI_DDRAWSURFACE_INT, LPDDSURFACEDESC2); HRESULT WINAPI Main_DDrawSurface_GetUniquenessValue(LPDDRAWI_DDRAWSURFACE_INT, LPDWORD); HRESULT WINAPI Main_DDrawSurface_IsLost(LPDDRAWI_DDRAWSURFACE_INT); HRESULT WINAPI Main_DDrawSurface_PageLock(LPDDRAWI_DDRAWSURFACE_INT, DWORD); HRESULT WINAPI Main_DDrawSurface_PageUnlock(LPDDRAWI_DDRAWSURFACE_INT, DWORD); HRESULT WINAPI Main_DDrawSurface_ReleaseDC(LPDDRAWI_DDRAWSURFACE_INT, HDC); HRESULT WINAPI Main_DDrawSurface_SetClipper (LPDDRAWI_DDRAWSURFACE_INT, LPDIRECTDRAWCLIPPER); HRESULT WINAPI Main_DDrawSurface_SetColorKey (LPDDRAWI_DDRAWSURFACE_INT, DWORD, LPDDCOLORKEY); HRESULT WINAPI Main_DDrawSurface_SetOverlayPosition (LPDDRAWI_DDRAWSURFACE_INT, LONG, LONG); HRESULT WINAPI Main_DDrawSurface_SetPalette (LPDDRAWI_DDRAWSURFACE_INT, LPDIRECTDRAWPALETTE); HRESULT WINAPI Main_DDrawSurface_SetPriority (LPDDRAWI_DDRAWSURFACE_INT, DWORD); HRESULT WINAPI Main_DDrawSurface_SetPrivateData (LPDDRAWI_DDRAWSURFACE_INT, REFGUID, LPVOID, DWORD, DWORD); HRESULT WINAPI Main_DDrawSurface_UpdateOverlayDisplay (LPDDRAWI_DDRAWSURFACE_INT, DWORD); HRESULT WINAPI Main_DDrawSurface_UpdateOverlayZOrder (LPDDRAWI_DDRAWSURFACE_INT, DWORD, LPDDRAWI_DDRAWSURFACE_INT); HRESULT WINAPI Main_DDrawSurface_SetSurfaceDesc(LPDDRAWI_DDRAWSURFACE_INT, DDSURFACEDESC2 *, DWORD); HRESULT WINAPI Main_DDrawSurface_SetLOD(LPDDRAWI_DDRAWSURFACE_INT, DWORD); HRESULT WINAPI Main_DDrawSurface_Unlock (LPDDRAWI_DDRAWSURFACE_INT, LPRECT); HRESULT WINAPI Main_DDrawSurface_Initialize (LPDDRAWI_DDRAWSURFACE_INT, LPDIRECTDRAW, LPDDSURFACEDESC2); HRESULT WINAPI Main_DDrawSurface_Lock (LPDDRAWI_DDRAWSURFACE_INT, LPRECT, LPDDSURFACEDESC2, DWORD, HANDLE); HRESULT WINAPI Main_DDrawSurface_Restore(LPDDRAWI_DDRAWSURFACE_INT); HRESULT WINAPI Main_DDrawSurface_UpdateOverlay (LPDDRAWI_DDRAWSURFACE_INT, LPRECT, LPDDRAWI_DDRAWSURFACE_INT, LPRECT, DWORD, LPDDOVERLAYFX); HRESULT WINAPI Main_DDrawSurface_ChangeUniquenessValue(LPDDRAWI_DDRAWSURFACE_INT iface); HRESULT WINAPI Main_DDrawSurface_AddAttachedSurface(LPDDRAWI_DDRAWSURFACE_INT iface, LPDDRAWI_DDRAWSURFACE_INT pAttach); HRESULT WINAPI Main_DDrawSurface_AddOverlayDirtyRect(LPDDRAWI_DDRAWSURFACE_INT iface, LPRECT pRect); HRESULT WINAPI Main_DDrawSurface_GetSurfaceDesc(LPDDRAWI_DDRAWSURFACE_INT iface, LPDDSURFACEDESC2 pDDSD); HRESULT WINAPI Main_DDrawSurface_SetSurfaceDesc(LPDDRAWI_DDRAWSURFACE_INT iface, DDSURFACEDESC2 *DDSD, DWORD Flags); // hel callbacks DWORD CALLBACK HelDdDestroyDriver(LPDDHAL_DESTROYDRIVERDATA lpDestroyDriver); DWORD CALLBACK HelDdCreateSurface(LPDDHAL_CREATESURFACEDATA lpCreateSurface); DWORD CALLBACK HelDdSetColorKey(LPDDHAL_DRVSETCOLORKEYDATA lpSetColorKey); DWORD CALLBACK HelDdSetMode(LPDDHAL_SETMODEDATA SetMode); DWORD CALLBACK HelDdWaitForVerticalBlank(LPDDHAL_WAITFORVERTICALBLANKDATA lpWaitForVerticalBlank); DWORD CALLBACK HelDdCanCreateSurface(LPDDHAL_CANCREATESURFACEDATA lpCanCreateSurface); DWORD CALLBACK HelDdCreatePalette(LPDDHAL_CREATEPALETTEDATA lpCreatePalette); DWORD CALLBACK HelDdGetScanLine(LPDDHAL_GETSCANLINEDATA lpGetScanLine); DWORD CALLBACK HelDdSetExclusiveMode(LPDDHAL_SETEXCLUSIVEMODEDATA lpSetExclusiveMode); DWORD CALLBACK HelDdFlipToGDISurface(LPDDHAL_FLIPTOGDISURFACEDATA lpFlipToGDISurface);