mirror of
https://github.com/narzoul/DDrawCompat
synced 2024-12-30 08:55:36 +01:00
Hooked the IDirectDrawGammaControl interface
This commit is contained in:
parent
5c91706b03
commit
4b02a40bc9
@ -40,6 +40,7 @@ namespace Compat
|
||||
DEFINE_BASE_INTF(IDirectDrawSurface3, IDirectDrawSurface);
|
||||
DEFINE_BASE_INTF(IDirectDrawSurface4, IDirectDrawSurface);
|
||||
DEFINE_BASE_INTF(IDirectDrawSurface7, IDirectDrawSurface);
|
||||
DEFINE_BASE_INTF(IDirectDrawGammaControl, IDirectDrawSurface);
|
||||
|
||||
DEFINE_BASE_INTF(IDirect3D, IDirectDraw);
|
||||
DEFINE_BASE_INTF(IDirect3D2, IDirectDraw);
|
||||
|
8
DDrawCompat/DDraw/DirectDrawGammaControl.cpp
Normal file
8
DDrawCompat/DDraw/DirectDrawGammaControl.cpp
Normal file
@ -0,0 +1,8 @@
|
||||
#include "DDraw/DirectDrawGammaControl.h"
|
||||
|
||||
namespace DDraw
|
||||
{
|
||||
void DirectDrawGammaControl::setCompatVtable(IDirectDrawGammaControlVtbl& /*vtable*/)
|
||||
{
|
||||
}
|
||||
}
|
15
DDrawCompat/DDraw/DirectDrawGammaControl.h
Normal file
15
DDrawCompat/DDraw/DirectDrawGammaControl.h
Normal file
@ -0,0 +1,15 @@
|
||||
#pragma once
|
||||
|
||||
#include "Common/CompatVtable.h"
|
||||
#include "DDraw/Visitors/DirectDrawGammaControlVtblVisitor.h"
|
||||
|
||||
namespace DDraw
|
||||
{
|
||||
class DirectDrawGammaControl : public CompatVtable<IDirectDrawGammaControlVtbl>
|
||||
{
|
||||
public:
|
||||
static void setCompatVtable(IDirectDrawGammaControlVtbl& vtable);
|
||||
};
|
||||
}
|
||||
|
||||
SET_COMPAT_VTABLE(IDirectDrawGammaControlVtbl, DDraw::DirectDrawGammaControl);
|
@ -8,6 +8,7 @@
|
||||
#include "DDraw/ActivateAppHandler.h"
|
||||
#include "DDraw/DirectDraw.h"
|
||||
#include "DDraw/DirectDrawClipper.h"
|
||||
#include "DDraw/DirectDrawGammaControl.h"
|
||||
#include "DDraw/DirectDrawPalette.h"
|
||||
#include "DDraw/DirectDrawSurface.h"
|
||||
#include "DDraw/Hooks.h"
|
||||
@ -81,6 +82,7 @@ namespace
|
||||
hookVtable<IDirectDrawSurface3>(surface);
|
||||
hookVtable<IDirectDrawSurface4>(surface);
|
||||
hookVtable<IDirectDrawSurface7>(surface);
|
||||
hookVtable<IDirectDrawGammaControl>(surface);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -91,7 +93,10 @@ namespace
|
||||
template <typename Interface>
|
||||
void hookVtable(const CompatPtr<Interface>& intf)
|
||||
{
|
||||
CompatVtable<Vtable<Interface>>::hookVtable(intf.get()->lpVtbl);
|
||||
if (intf)
|
||||
{
|
||||
CompatVtable<Vtable<Interface>>::hookVtable(intf.get()->lpVtbl);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,16 @@
|
||||
#pragma once
|
||||
|
||||
#include "Common/VtableVisitor.h"
|
||||
|
||||
template <>
|
||||
struct VtableForEach<IDirectDrawGammaControlVtbl>
|
||||
{
|
||||
template <typename Vtable, typename Visitor>
|
||||
static void forEach(Visitor& visitor)
|
||||
{
|
||||
VtableForEach<IUnknownVtbl>::forEach<Vtable>(visitor);
|
||||
|
||||
DD_VISIT(GetGammaRamp);
|
||||
DD_VISIT(SetGammaRamp);
|
||||
}
|
||||
};
|
@ -183,6 +183,7 @@
|
||||
<ClInclude Include="DDraw\ActivateAppHandler.h" />
|
||||
<ClInclude Include="DDraw\DirectDraw.h" />
|
||||
<ClInclude Include="DDraw\DirectDrawClipper.h" />
|
||||
<ClInclude Include="DDraw\DirectDrawGammaControl.h" />
|
||||
<ClInclude Include="DDraw\DirectDrawPalette.h" />
|
||||
<ClInclude Include="DDraw\DirectDrawSurface.h" />
|
||||
<ClInclude Include="DDraw\Hooks.h" />
|
||||
@ -197,6 +198,7 @@
|
||||
<ClInclude Include="DDraw\IReleaseNotifier.h" />
|
||||
<ClInclude Include="DDraw\RealPrimarySurface.h" />
|
||||
<ClInclude Include="DDraw\Visitors\DirectDrawClipperVtblVisitor.h" />
|
||||
<ClInclude Include="DDraw\Visitors\DirectDrawGammaControlVtblVisitor.h" />
|
||||
<ClInclude Include="DDraw\Visitors\DirectDrawPaletteVtblVisitor.h" />
|
||||
<ClInclude Include="DDraw\Visitors\DirectDrawSurfaceVtblVisitor.h" />
|
||||
<ClInclude Include="DDraw\Visitors\DirectDrawVtblVisitor.h" />
|
||||
@ -248,6 +250,7 @@
|
||||
<ClCompile Include="DDraw\ActivateAppHandler.cpp" />
|
||||
<ClCompile Include="DDraw\DirectDraw.cpp" />
|
||||
<ClCompile Include="DDraw\DirectDrawClipper.cpp" />
|
||||
<ClCompile Include="DDraw\DirectDrawGammaControl.cpp" />
|
||||
<ClCompile Include="DDraw\DirectDrawPalette.cpp" />
|
||||
<ClCompile Include="DDraw\DirectDrawSurface.cpp" />
|
||||
<ClCompile Include="DDraw\Hooks.cpp" />
|
||||
|
@ -306,6 +306,12 @@
|
||||
<ClInclude Include="Win32\DisplayMode.h">
|
||||
<Filter>Header Files\Win32</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="DDraw\Visitors\DirectDrawGammaControlVtblVisitor.h">
|
||||
<Filter>Header Files\DDraw\Visitors</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="DDraw\DirectDrawGammaControl.h">
|
||||
<Filter>Header Files\DDraw</Filter>
|
||||
</ClInclude>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Gdi\Gdi.cpp">
|
||||
@ -467,6 +473,9 @@
|
||||
<ClCompile Include="Win32\DisplayMode.cpp">
|
||||
<Filter>Source Files\Win32</Filter>
|
||||
</ClCompile>
|
||||
<ClCompile Include="DDraw\DirectDrawGammaControl.cpp">
|
||||
<Filter>Source Files\DDraw</Filter>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Dll\DDrawCompat.def">
|
||||
|
Loading…
x
Reference in New Issue
Block a user