1
0
mirror of https://github.com/narzoul/DDrawCompat synced 2024-12-30 08:55:36 +01:00
DDrawCompat/DDrawCompat/CompatDirectDraw.h
2015-12-25 01:57:44 +01:00

32 lines
828 B
C++

#pragma once
#include "CompatVtable.h"
#include "DDrawTypes.h"
#include "DirectDrawVtblVisitor.h"
template <typename TDirectDraw>
class CompatDirectDraw : public CompatVtable<CompatDirectDraw<TDirectDraw>, TDirectDraw>
{
public:
typedef typename Types<TDirectDraw>::TCreatedSurface TSurface;
typedef typename Types<TDirectDraw>::TSurfaceDesc TSurfaceDesc;
static void setCompatVtable(Vtable<TDirectDraw>& vtable);
static HRESULT STDMETHODCALLTYPE CreateSurface(
TDirectDraw* This,
TSurfaceDesc* lpDDSurfaceDesc,
TSurface** lplpDDSurface,
IUnknown* pUnkOuter);
static HRESULT STDMETHODCALLTYPE RestoreDisplayMode(TDirectDraw* This);
template <typename... Params>
static HRESULT STDMETHODCALLTYPE SetDisplayMode(
TDirectDraw* This,
DWORD dwWidth,
DWORD dwHeight,
DWORD dwBPP,
Params... params);
};